@@ -109,17 +109,77 @@ describe('InputProjectComponent', () => {
109
109
expect ( store . dispatch ) . toHaveBeenCalledWith ( new UpdateProject ( projectUpdated ) ) ;
110
110
} ) ;
111
111
112
+ it ( 'should reset form #onSubmit and dispatch UpdateProject action with null project_type_id' , ( ) => {
113
+ const currentState = {
114
+ data : [ project ] ,
115
+ isLoading : false ,
116
+ message : '' ,
117
+ projectToEdit : project ,
118
+ } ;
119
+
120
+ const dataForm = {
121
+ name : 'Test' ,
122
+ description : 'xxx' ,
123
+ project_type_id : '' ,
124
+ } ;
125
+
126
+ getProjectToEditMock = store . overrideSelector ( getProjectToEdit , currentState . projectToEdit ) ;
127
+ component . projectToEdit = getProjectToEditMock ;
128
+
129
+ const projectUpdated = {
130
+ id : component . projectToEdit . id ,
131
+ name : 'Test' ,
132
+ description : 'xxx' ,
133
+ project_type_id : null ,
134
+ } ;
135
+
136
+ component . projectToEditSubscription = new Subscription ( ) ;
137
+ component . projectTypesSubscription = new Subscription ( ) ;
138
+ spyOn ( component . projectForm , 'reset' ) ;
139
+ spyOn ( store , 'dispatch' ) ;
140
+ const subscription = spyOn ( component . projectToEditSubscription , 'unsubscribe' ) ;
141
+ const projectTypeSubscription = spyOn ( component . projectTypesSubscription , 'unsubscribe' ) ;
142
+
143
+ component . onSubmit ( dataForm ) ;
144
+ component . ngOnDestroy ( ) ;
145
+
146
+ expect ( subscription ) . toHaveBeenCalledTimes ( 1 ) ;
147
+ expect ( projectTypeSubscription ) . toHaveBeenCalledTimes ( 1 ) ;
148
+ expect ( dataForm . project_type_id ) . toBe ( null ) ;
149
+ expect ( component . projectForm . reset ) . toHaveBeenCalled ( ) ;
150
+ expect ( store . dispatch ) . toHaveBeenCalledTimes ( 1 ) ;
151
+ expect ( store . dispatch ) . toHaveBeenCalledWith ( new UpdateProject ( projectUpdated ) ) ;
152
+ } ) ;
153
+
112
154
it ( 'should reset form onSubmit and dispatch CreateProject action' , ( ) => {
113
155
component . projectToEdit = undefined ;
114
156
115
157
spyOn ( component . projectForm , 'reset' ) ;
116
158
spyOn ( store , 'dispatch' ) ;
117
159
118
- component . onSubmit ( project ) ;
160
+ component . onSubmit ( projectForm ) ;
161
+
162
+ expect ( component . projectForm . reset ) . toHaveBeenCalled ( ) ;
163
+ expect ( store . dispatch ) . toHaveBeenCalledTimes ( 1 ) ;
164
+ expect ( store . dispatch ) . toHaveBeenCalledWith ( new CreateProject ( projectForm ) ) ;
165
+ } ) ;
166
+
167
+ it ( 'should reset form onSubmit and dispatch CreateProject action with null project_type_id' , ( ) => {
168
+ const dataForm = {
169
+ name : 'Test' ,
170
+ description : 'xxx' ,
171
+ project_type_id : '' ,
172
+ } ;
173
+ component . projectToEdit = undefined ;
174
+
175
+ spyOn ( component . projectForm , 'reset' ) ;
176
+ spyOn ( store , 'dispatch' ) ;
119
177
178
+ component . onSubmit ( dataForm ) ;
179
+ expect ( dataForm . project_type_id ) . toBe ( null ) ;
120
180
expect ( component . projectForm . reset ) . toHaveBeenCalled ( ) ;
121
181
expect ( store . dispatch ) . toHaveBeenCalledTimes ( 1 ) ;
122
- expect ( store . dispatch ) . toHaveBeenCalledWith ( new CreateProject ( project ) ) ;
182
+ expect ( store . dispatch ) . toHaveBeenCalledWith ( new CreateProject ( dataForm ) ) ;
123
183
} ) ;
124
184
125
185
it ( 'should set data in projectForm' , ( ) => {
0 commit comments