Skip to content

Commit 6946438

Browse files
committed
(#310) Migrated window.class to not use adapters
1 parent d158da6 commit 6946438

File tree

2 files changed

+37
-22
lines changed

2 files changed

+37
-22
lines changed

lib/window.class.spec.ts

+27-12
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,51 @@
11
import {Window} from "./window.class";
2-
import {NativeAdapter} from "./adapter/native.adapter.class";
3-
import providerRegistry from "./provider/provider-registry.class";
2+
import {ProviderRegistry} from "./provider/provider-registry.class";
3+
import {mockPartial} from "sneer";
4+
import {WindowProviderInterface} from "./provider";
45

5-
jest.mock('jimp', () => {});
6-
jest.mock("./adapter/native.adapter.class");
6+
jest.mock('jimp', () => {
7+
});
78

89
describe("Window class", () => {
910
it("should retrieve the window region via its native adapter", async () => {
1011
// GIVEN
11-
const nativeAdapterMock = new NativeAdapter(providerRegistry);
12+
const windowMock = jest.fn();
13+
const providerRegistryMock = mockPartial<ProviderRegistry>({
14+
getWindow(): WindowProviderInterface {
15+
return mockPartial<WindowProviderInterface>({
16+
getWindowRegion: windowMock
17+
})
18+
}
19+
})
1220
const mockWindowHandle = 123;
13-
const SUT = new Window(nativeAdapterMock, mockWindowHandle);
21+
const SUT = new Window(providerRegistryMock, mockWindowHandle);
1422

1523
// WHEN
1624
await SUT.region
1725

1826
// THEN
19-
expect(nativeAdapterMock.getWindowRegion).toBeCalledTimes(1);
20-
expect(nativeAdapterMock.getWindowRegion).toBeCalledWith(mockWindowHandle);
27+
expect(windowMock).toBeCalledTimes(1);
28+
expect(windowMock).toBeCalledWith(mockWindowHandle);
2129
});
2230

2331
it("should retrieve the window title via its native adapter", async () => {
2432
// GIVEN
25-
const nativeAdapterMock = new NativeAdapter(providerRegistry);
33+
const windowMock = jest.fn();
34+
const providerRegistryMock = mockPartial<ProviderRegistry>({
35+
getWindow(): WindowProviderInterface {
36+
return mockPartial<WindowProviderInterface>({
37+
getWindowTitle: windowMock
38+
})
39+
}
40+
})
2641
const mockWindowHandle = 123;
27-
const SUT = new Window(nativeAdapterMock, mockWindowHandle);
42+
const SUT = new Window(providerRegistryMock, mockWindowHandle);
2843

2944
// WHEN
3045
await SUT.title
3146

3247
// THEN
33-
expect(nativeAdapterMock.getWindowTitle).toBeCalledTimes(1);
34-
expect(nativeAdapterMock.getWindowTitle).toBeCalledWith(mockWindowHandle);
48+
expect(windowMock).toBeCalledTimes(1);
49+
expect(windowMock).toBeCalledWith(mockWindowHandle);
3550
});
3651
});

lib/window.class.ts

+10-10
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
import { NativeAdapter } from "./adapter/native.adapter.class";
2-
import { Region } from "./region.class";
1+
import {Region} from "./region.class";
2+
import {ProviderRegistry} from "./provider/provider-registry.class";
33

44
export class Window {
5-
constructor(private nativeActions: NativeAdapter, private windowHandle: number) {
6-
}
5+
constructor(private providerRegistry: ProviderRegistry, private windowHandle: number) {
6+
}
77

8-
get title(): Promise<string> {
9-
return this.nativeActions.getWindowTitle(this.windowHandle);
10-
}
8+
get title(): Promise<string> {
9+
return this.providerRegistry.getWindow().getWindowTitle(this.windowHandle);
10+
}
1111

12-
get region(): Promise<Region> {
13-
return this.nativeActions.getWindowRegion(this.windowHandle);
14-
}
12+
get region(): Promise<Region> {
13+
return this.providerRegistry.getWindow().getWindowRegion(this.windowHandle);
14+
}
1515
}

0 commit comments

Comments
 (0)