@@ -39,23 +39,79 @@ describe('createAction()', () => {
39
39
expectSnippet ( `
40
40
const foo = createAction('FOO', props<{ type: number }>());
41
41
` ) . toFail (
42
- / T y p e ' A c t i o n C r e a t o r P r o p s < \ { t y p e : n u m b e r ; \} > ' i s n o t a s s i g n a b l e t o t y p e ' " t y p e p r o p e r t y i s n o t a l l o w e d i n a c t i o n c r e a t o r s " ' /
42
+ / T y p e ' { t y p e : n u m b e r ; } ' d o e s n o t s a t i s f y t h e c o n s t r a i n t ' " a c t i o n c r e a t o r p r o p s c a n n o t h a v e a p r o p e r t y n a m e d ` t y p e ` " ' /
43
43
) ;
44
44
} ) ;
45
45
46
46
it ( 'should not allow arrays' , ( ) => {
47
47
expectSnippet ( `
48
48
const foo = createAction('FOO', props<[]>());
49
49
` ) . toFail (
50
- / T y p e ' A c t i o n C r e a t o r P r o p s < \[ \] > ' i s n o t a s s i g n a b l e t o t y p e ' " a r r a y s a r e n o t a l l o w e d i n a c t i o n c r e a t o r s " ' /
50
+ / T y p e ' \[ ] ' d o e s n o t s a t i s f y t h e c o n s t r a i n t ' " a c t i o n c r e a t o r p r o p s c a n n o t b e a n a r r a y " ' /
51
51
) ;
52
52
} ) ;
53
53
54
54
it ( 'should not allow empty objects' , ( ) => {
55
55
expectSnippet ( `
56
56
const foo = createAction('FOO', props<{}>());
57
57
` ) . toFail (
58
- / T y p e ' A c t i o n C r e a t o r P r o p s < \{ \} > ' i s n o t a s s i g n a b l e t o t y p e ' " e m p t y o b j e c t s a r e n o t a l l o w e d i n a c t i o n c r e a t o r s " ' /
58
+ / T y p e ' { } ' d o e s n o t s a t i s f y t h e c o n s t r a i n t ' " a c t i o n c r e a t o r p r o p s c a n n o t b e a n e m p t y o b j e c t " ' /
59
+ ) ;
60
+ } ) ;
61
+
62
+ it ( 'should not allow strings' , ( ) => {
63
+ expectSnippet ( `
64
+ const foo = createAction('FOO', props<string>());
65
+ ` ) . toFail (
66
+ / T y p e ' s t r i n g ' d o e s n o t s a t i s f y t h e c o n s t r a i n t ' " a c t i o n c r e a t o r p r o p s c a n n o t b e a p r i m i t i v e v a l u e " ' /
67
+ ) ;
68
+ } ) ;
69
+
70
+ it ( 'should not allow numbers' , ( ) => {
71
+ expectSnippet ( `
72
+ const foo = createAction('FOO', props<number>());
73
+ ` ) . toFail (
74
+ / T y p e ' n u m b e r ' d o e s n o t s a t i s f y t h e c o n s t r a i n t ' " a c t i o n c r e a t o r p r o p s c a n n o t b e a p r i m i t i v e v a l u e " ' /
75
+ ) ;
76
+ } ) ;
77
+
78
+ it ( 'should not allow bigints' , ( ) => {
79
+ expectSnippet ( `
80
+ const foo = createAction('FOO', props<bigint>());
81
+ ` ) . toFail (
82
+ / T y p e ' b i g i n t ' d o e s n o t s a t i s f y t h e c o n s t r a i n t ' " a c t i o n c r e a t o r p r o p s c a n n o t b e a p r i m i t i v e v a l u e " ' /
83
+ ) ;
84
+ } ) ;
85
+
86
+ it ( 'should not allow booleans' , ( ) => {
87
+ expectSnippet ( `
88
+ const foo = createAction('FOO', props<boolean>());
89
+ ` ) . toFail (
90
+ / T y p e ' b o o l e a n ' d o e s n o t s a t i s f y t h e c o n s t r a i n t ' " a c t i o n c r e a t o r p r o p s c a n n o t b e a p r i m i t i v e v a l u e " ' /
91
+ ) ;
92
+ } ) ;
93
+
94
+ it ( 'should not allow symbols' , ( ) => {
95
+ expectSnippet ( `
96
+ const foo = createAction('FOO', props<symbol>());
97
+ ` ) . toFail (
98
+ / T y p e ' s y m b o l ' d o e s n o t s a t i s f y t h e c o n s t r a i n t ' " a c t i o n c r e a t o r p r o p s c a n n o t b e a p r i m i t i v e v a l u e " ' /
99
+ ) ;
100
+ } ) ;
101
+
102
+ it ( 'should not allow null' , ( ) => {
103
+ expectSnippet ( `
104
+ const foo = createAction('FOO', props<null>());
105
+ ` ) . toFail (
106
+ / T y p e ' A c t i o n C r e a t o r P r o p s < n u l l > ' i s n o t a s s i g n a b l e t o t y p e ' " a c t i o n c r e a t o r c a n n o t r e t u r n a n a r r a y " ' /
107
+ ) ;
108
+ } ) ;
109
+
110
+ it ( 'should not allow undefined' , ( ) => {
111
+ expectSnippet ( `
112
+ const foo = createAction('FOO', props<undefined>());
113
+ ` ) . toFail (
114
+ / T y p e ' A c t i o n C r e a t o r P r o p s < u n d e f i n e d > ' i s n o t a s s i g n a b l e t o t y p e ' " a c t i o n c r e a t o r c a n n o t r e t u r n a n a r r a y " ' /
59
115
) ;
60
116
} ) ;
61
117
} ) ;
@@ -88,7 +144,7 @@ describe('createAction()', () => {
88
144
expectSnippet ( `
89
145
const foo = createAction('FOO', (type: string) => ({type}));
90
146
` ) . toFail (
91
- / T y p e ' \{ t y p e : s t r i n g ; \} ' i s n o t a s s i g n a b l e t o t y p e ' " t y p e p r o p e r t y i s n o t a l l o w e d i n a c t i o n c r e a t o r s " ' /
147
+ / T y p e ' \{ t y p e : s t r i n g ; \} ' i s n o t a s s i g n a b l e t o t y p e ' " a c t i o n c r e a t o r c a n n o t r e t u r n a n o b j e c t w i t h a p r o p e r t y n a m e d ` t y p e ` " ' /
92
148
) ;
93
149
} ) ;
94
150
@@ -102,7 +158,7 @@ describe('createAction()', () => {
102
158
expectSnippet ( `
103
159
const foo = createAction('FOO', () => [ ]);
104
160
` ) . toFail (
105
- / T y p e ' a n y \[ \] ' i s n o t a s s i g n a b l e t o t y p e ' " a r r a y s a r e n o t a l l o w e d i n a c t i o n c r e a t o r s " ' /
161
+ / T y p e ' a n y \[ \] ' i s n o t a s s i g n a b l e t o t y p e ' " a c t i o n c r e a t o r c a n n o t r e t u r n a n a r r a y " ' /
106
162
) ;
107
163
} ) ;
108
164
} ) ;
0 commit comments