@@ -6,54 +6,57 @@ import { expect as expectWdio } from '../src/index.js'
66
77describe ( 'Type test' , ( ) => {
88
9- test ( 'Jest "expect" lib type tests as baseline' , ( ) => {
9+ describe ( 'Expects + Promise matchers & basic matchers' , ( ) => {
10+
11+ test ( 'Jest "expect" lib type tests as baseline' , ( ) => {
12+ // Basic matchers
13+ expectTypeOf ( expectLib ( true ) ) . toExtend < Matchers < void , boolean > & Inverse < Matchers < void , boolean > > > ( )
14+ expectTypeOf ( expectLib ( true ) . toBe ( true ) ) . toBeVoid ( )
15+ expectTypeOf ( expectLib ( true ) . toBe ( true ) ) . not . toExtend < Promise < void > > ( )
16+ expectTypeOf ( expectLib ( Promise . resolve ( true ) ) . toBe ( expect . any ) ) . toBeVoid ( )
17+ expectTypeOf ( expectLib ( Promise . resolve ( true ) ) . resolves . toBe ( expect . any ) ) . resolves . toBeVoid ( )
18+
19+ // element matchers are not available in 'expect' lib
20+ expectTypeOf ( expectLib ( $ ( 'element' ) ) . toBe ( expect . any ) ) . toBeVoid ( )
21+ expectTypeOf ( expectLib ( $ ( 'element' ) ) ) . not . toHaveProperty ( 'toHaveText' )
22+ expectTypeOf ( expectLib ( $$ ( 'elements' ) ) . toBe ( expect . any ) ) . toBeVoid ( )
23+ expectTypeOf ( expectLib ( $$ ( 'elements' ) ) ) . not . toHaveProperty ( 'toHaveText' )
24+ } )
25+
26+ test ( 'Wdio expect & matchers type tests' , ( ) => {
1027 // Basic matchers
11- expectTypeOf ( expectLib ( true ) ) . toExtend < Matchers < void , boolean > & Inverse < Matchers < void , boolean > > > ( )
12- expectTypeOf ( expectLib ( true ) . toBe ( true ) ) . toBeVoid ( )
13- expectTypeOf ( expectLib ( true ) . toBe ( true ) ) . not . toExtend < Promise < void > > ( )
14- expectTypeOf ( expectLib ( Promise . resolve ( true ) ) . toBe ( expect . any ) ) . toBeVoid ( )
15- expectTypeOf ( expectLib ( Promise . resolve ( true ) ) . resolves . toBe ( expect . any ) ) . resolves . toBeVoid ( )
16-
17- // element matchers are not available in 'expect' lib
18- expectTypeOf ( expectLib ( $ ( 'element' ) ) . toBe ( expect . any ) ) . toBeVoid ( )
19- expectTypeOf ( expectLib ( $ ( 'element' ) ) ) . not . toHaveProperty ( 'toHaveText' )
20- expectTypeOf ( expectLib ( $$ ( 'elements' ) ) . toBe ( expect . any ) ) . toBeVoid ( )
21- expectTypeOf ( expectLib ( $$ ( 'elements' ) ) ) . not . toHaveProperty ( 'toHaveText' )
22- } )
23-
24- test ( 'Wdio expect & matchers type tests' , ( ) => {
25- // Basic matchers
26- expectTypeOf ( expectWdio ( true ) ) . toExtend < Matchers < void , boolean > & Inverse < Matchers < void , boolean > > > ( )
27- expectTypeOf ( expectWdio ( true ) . toBe ( true ) ) . toBeVoid ( )
28- expectTypeOf ( expectWdio ( true ) . toBe ( true ) ) . not . toExtend < Promise < void > > ( )
29- expectTypeOf ( expectWdio ( Promise . resolve ( true ) ) . toBe ( true ) )
30- expectTypeOf ( expectWdio ( Promise . resolve ( true ) ) . resolves . toBe ( true ) ) . resolves . toBeVoid ( )
31-
32- // element matchers
33- expectTypeOf ( expectWdio ( $ ( 'element' ) ) . toBe ( expect . any ) ) . toBeVoid ( )
34- expectTypeOf ( expectWdio ( $ ( 'element' ) ) . toHaveText ( 'test' ) ) . not . toBeVoid ( )
35- expectTypeOf ( expectWdio ( $ ( 'element' ) ) . toHaveText ( 'test' ) ) . toExtend < Promise < void > > ( )
36- expectTypeOf ( expectWdio ( $$ ( 'elements' ) ) . toBe ( expect . any ) ) . toBeVoid ( )
37- expectTypeOf ( expectWdio ( $$ ( 'elements' ) ) . toHaveText ( 'test' ) ) . toExtend < Promise < void > > ( )
38- expectTypeOf ( expectWdio ( $$ ( 'elements' ) ) . toHaveText ( 'test' ) ) . not . toBeVoid ( )
39-
40- } )
41-
42- test ( 'Wdio soft expect & matchers type tests' , ( ) => {
28+ expectTypeOf ( expectWdio ( true ) ) . toExtend < Matchers < void , boolean > & Inverse < Matchers < void , boolean > > > ( )
29+ expectTypeOf ( expectWdio ( true ) . toBe ( true ) ) . toBeVoid ( )
30+ expectTypeOf ( expectWdio ( true ) . toBe ( true ) ) . not . toExtend < Promise < void > > ( )
31+ expectTypeOf ( expectWdio ( Promise . resolve ( true ) ) . toBe ( true ) )
32+ expectTypeOf ( expectWdio ( Promise . resolve ( true ) ) . resolves . toBe ( true ) ) . resolves . toBeVoid ( )
33+
34+ // element matchers
35+ expectTypeOf ( expectWdio ( $ ( 'element' ) ) . toBe ( expect . any ) ) . toBeVoid ( )
36+ expectTypeOf ( expectWdio ( $ ( 'element' ) ) . toHaveText ( 'test' ) ) . not . toBeVoid ( )
37+ expectTypeOf ( expectWdio ( $ ( 'element' ) ) . toHaveText ( 'test' ) ) . toExtend < Promise < void > > ( )
38+ expectTypeOf ( expectWdio ( $$ ( 'elements' ) ) . toBe ( expect . any ) ) . toBeVoid ( )
39+ expectTypeOf ( expectWdio ( $$ ( 'elements' ) ) . toHaveText ( 'test' ) ) . toExtend < Promise < void > > ( )
40+ expectTypeOf ( expectWdio ( $$ ( 'elements' ) ) . toHaveText ( 'test' ) ) . not . toBeVoid ( )
41+
42+ } )
43+
44+ test ( 'Wdio soft expect & matchers type tests' , ( ) => {
4345 // Basic matchers
44- expectTypeOf ( expectWdio . soft ( true ) ) . toExtend < Matchers < void , boolean > & Inverse < Matchers < void , boolean > > > ( )
45- expectTypeOf ( expectWdio . soft ( true ) . toBe ( true ) ) . toExtend < void > ( )
46- expectTypeOf ( expectWdio . soft ( true ) . toBe ( true ) ) . not . toExtend < Promise < void > > ( )
47- // to fix?
48- //expectTypeOf(expectWdio.soft(Promise.resolve(true)).toBe(expect.any)).toBeVoid()
49- expectTypeOf ( expectWdio . soft ( Promise . resolve ( true ) ) . resolves . toBe ( expect . any ) ) . toExtend < Promise < void > > ( )
50-
51- // element matchers
52- expectTypeOf ( expectWdio ( $ ( 'element' ) ) . toBe ( expect . any ) ) . toBeVoid ( )
53- expectTypeOf ( expectWdio ( $ ( 'element' ) ) . toHaveText ( 'test' ) ) . not . toBeVoid ( )
54- expectTypeOf ( expectWdio ( $ ( 'element' ) ) . toHaveText ( 'test' ) ) . toExtend < Promise < void > > ( )
55- expectTypeOf ( expectWdio ( $$ ( 'elements' ) ) . toBe ( expect . any ) ) . toBeVoid ( )
56- expectTypeOf ( expectWdio ( $$ ( 'elements' ) ) . toHaveText ( 'test' ) ) . toExtend < Promise < void > > ( )
57- expectTypeOf ( expectWdio ( $$ ( 'elements' ) ) . toHaveText ( 'test' ) ) . not . toBeVoid ( )
46+ expectTypeOf ( expectWdio . soft ( true ) ) . toExtend < Matchers < void , boolean > & Inverse < Matchers < void , boolean > > > ( )
47+ expectTypeOf ( expectWdio . soft ( true ) . toBe ( true ) ) . toExtend < void > ( )
48+ expectTypeOf ( expectWdio . soft ( true ) . toBe ( true ) ) . not . toExtend < Promise < void > > ( )
49+ // TODO to fix one day? When non elements matchers + promise, we should stick to void and not have Promise<void>
50+ //expectTypeOf(expectWdio.soft(Promise.resolve(true)).toBe(expect.any)).toBeVoid()
51+ expectTypeOf ( expectWdio . soft ( Promise . resolve ( true ) ) . resolves . toBe ( expect . any ) ) . toExtend < Promise < void > > ( )
52+
53+ // element matchers
54+ expectTypeOf ( expectWdio ( $ ( 'element' ) ) . toBe ( expect . any ) ) . toBeVoid ( )
55+ expectTypeOf ( expectWdio ( $ ( 'element' ) ) . toHaveText ( 'test' ) ) . not . toBeVoid ( )
56+ expectTypeOf ( expectWdio ( $ ( 'element' ) ) . toHaveText ( 'test' ) ) . toExtend < Promise < void > > ( )
57+ expectTypeOf ( expectWdio ( $$ ( 'elements' ) ) . toBe ( expect . any ) ) . toBeVoid ( )
58+ expectTypeOf ( expectWdio ( $$ ( 'elements' ) ) . toHaveText ( 'test' ) ) . toExtend < Promise < void > > ( )
59+ expectTypeOf ( expectWdio ( $$ ( 'elements' ) ) . toHaveText ( 'test' ) ) . not . toBeVoid ( )
60+ } )
5861 } )
5962} )
0 commit comments