Skip to content

Commit b9d899c

Browse files
committed
Properly adapt color query test to findAll
1 parent 27932bc commit b9d899c

File tree

1 file changed

+45
-3
lines changed

1 file changed

+45
-3
lines changed

Diff for: lib/screen.class.spec.ts

+45-3
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import {
1111
ImageFinderInterface,
1212
ImageWriter,
1313
ImageWriterParameters,
14+
LogProviderInterface,
1415
ScreenProviderInterface,
1516
} from "./provider";
1617
import { OptionalSearchParameters } from "./optionalsearchparameters.class";
@@ -25,8 +26,17 @@ import { Point } from "./point.class";
2526
jest.mock("jimp", () => {});
2627

2728
const searchRegion = new Region(0, 0, 1000, 1000);
29+
const loggingMock = mockPartial<LogProviderInterface>({
30+
debug: jest.fn(),
31+
info: jest.fn(),
32+
warn: jest.fn(),
33+
error: jest.fn(),
34+
});
2835

2936
const providerRegistryMock = mockPartial<ProviderRegistry>({
37+
getLogProvider(): LogProviderInterface {
38+
return loggingMock;
39+
},
3040
getScreen(): ScreenProviderInterface {
3141
return mockPartial<ScreenProviderInterface>({
3242
grabScreenRegion(): Promise<Image> {
@@ -45,6 +55,12 @@ const providerRegistryMock = mockPartial<ProviderRegistry>({
4555
screenSize(): Promise<Region> {
4656
return Promise.resolve(searchRegion);
4757
},
58+
screenWidth(): Promise<number> {
59+
return Promise.resolve(searchRegion.width);
60+
},
61+
screenHeight(): Promise<number> {
62+
return Promise.resolve(searchRegion.height);
63+
},
4864
});
4965
},
5066
});
@@ -54,6 +70,32 @@ beforeEach(() => {
5470
});
5571

5672
describe("Screen.", () => {
73+
describe("dimensions", () => {
74+
it("should return the screen width", async () => {
75+
// GIVEN
76+
const SUT = new ScreenClass(providerRegistryMock);
77+
78+
// WHEN
79+
const width = await SUT.width();
80+
81+
// THEN
82+
expect(width).toEqual(searchRegion.width);
83+
expect(loggingMock.debug).toHaveBeenCalledTimes(1);
84+
});
85+
86+
it("should return the screen height", async () => {
87+
// GIVEN
88+
const SUT = new ScreenClass(providerRegistryMock);
89+
90+
// WHEN
91+
const height = await SUT.height();
92+
93+
// THEN
94+
expect(height).toEqual(searchRegion.height);
95+
expect(loggingMock.debug).toHaveBeenCalledTimes(1);
96+
});
97+
});
98+
5799
describe("find", () => {
58100
describe("queries", () => {
59101
it("should choose the correct finder implementation for images", async () => {
@@ -639,16 +681,16 @@ describe("Screen.", () => {
639681
},
640682
};
641683

642-
const findMatchMock = jest.fn(() => Promise.resolve(matchResult));
684+
const findMatchMock = jest.fn(() => Promise.resolve([matchResult]));
643685
providerRegistryMock.getColorFinder = jest.fn(() =>
644686
mockPartial<ColorFinderInterface>({
645-
findMatch: findMatchMock,
687+
findMatches: findMatchMock,
646688
})
647689
);
648690
providerRegistryMock.getLogProvider = () => new NoopLogProvider();
649691

650692
// WHEN
651-
await SUT.find(needle);
693+
await SUT.findAll(needle);
652694

653695
// THEN
654696
expect(findMatchMock).toHaveBeenCalledTimes(1);

0 commit comments

Comments
 (0)