@@ -11,6 +11,7 @@ import {
1111 ImageFinderInterface ,
1212 ImageWriter ,
1313 ImageWriterParameters ,
14+ LogProviderInterface ,
1415 ScreenProviderInterface ,
1516} from "./provider" ;
1617import { OptionalSearchParameters } from "./optionalsearchparameters.class" ;
@@ -25,8 +26,17 @@ import { Point } from "./point.class";
2526jest . mock ( "jimp" , ( ) => { } ) ;
2627
2728const 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
2936const 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
5672describe ( "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