@@ -76,6 +76,7 @@ describeForEachAutoAdapter(
76
76
< AutoHasManyThroughJoinModelForm >
77
77
< AutoInput field = "effectiveFrom" />
78
78
< AutoInput field = "effectiveTo" />
79
+ < AutoInput field = "attempt" />
79
80
</ AutoHasManyThroughJoinModelForm >
80
81
</ AutoHasManyThroughForm >
81
82
< AutoSubmit id = "submit" />
@@ -91,7 +92,9 @@ describeForEachAutoAdapter(
91
92
cy . contains ( "Emma Williams" ) . click ( ) ;
92
93
cy . contains ( "Add Students" ) . click ( ) ;
93
94
95
+ cy . wait ( 1000 ) ;
94
96
cy . get ( '[id="deleteButton_students.0"]' ) . click ( ) ;
97
+ cy . wait ( 1000 ) ;
95
98
96
99
expectUpdateActionSubmissionVariables ( {
97
100
course : {
@@ -101,18 +104,41 @@ describeForEachAutoAdapter(
101
104
// Updated second
102
105
{
103
106
update : {
104
- effectiveFrom : "2025-02-18 " ,
105
- effectiveTo : "2025-02-22 " ,
107
+ effectiveFrom : "2025-02-18T00:00:00.000Z " ,
108
+ effectiveTo : "2025-02-22T00:00:00.000Z " ,
106
109
id : "50" ,
107
- student : { update : { firstName : "Benjamin" , id : "43" , lastName : "Martin" } } ,
110
+ attempt : 1 ,
111
+ student : {
112
+ update : {
113
+ department : null ,
114
+ firstName : "Benjamin" ,
115
+ id : "43" ,
116
+ lastName : "Martin" ,
117
+ year : null ,
118
+ } ,
119
+ } ,
108
120
} ,
109
121
} ,
110
122
// Created third
111
- { create : { student : { _link : "10" } } } ,
123
+ {
124
+ create : {
125
+ effectiveFrom : null ,
126
+ effectiveTo : null ,
127
+ attempt : 2 ,
128
+ student : { _link : "10" } ,
129
+ } ,
130
+ } ,
112
131
] ,
113
132
} ,
114
133
id : "3" ,
115
134
} ) ;
135
+
136
+ cy . get ( '[id="submit"]' ) . click ( ) ;
137
+ cy . contains ( "Attempt is required" ) . should ( "exist" ) ; // Validation for blank field
138
+
139
+ cy . get ( '[id="course.registrations.0.attempt"]' ) . type ( "1" ) ;
140
+ cy . get ( '[id="course.registrations.1.attempt"]' ) . type ( "2" ) ;
141
+
116
142
cy . get ( '[id="submit"]' ) . click ( ) ;
117
143
cy . wait ( "@updateCourse" ) ;
118
144
} ) ;
@@ -128,6 +154,7 @@ describeForEachAutoAdapter(
128
154
>
129
155
< AutoInput field = "firstName" />
130
156
< AutoInput field = "lastName" />
157
+ < AutoInput field = "year" />
131
158
</ AutoHasManyThroughForm >
132
159
< AutoSubmit id = "submit" />
133
160
</ AutoForm > ,
@@ -137,9 +164,13 @@ describeForEachAutoAdapter(
137
164
cy . wait ( "@course" ) ;
138
165
cy . wait ( "@students" ) ;
139
166
167
+ cy . wait ( 1000 ) ;
140
168
cy . get ( '[id="deleteButton_students.0"]' ) . click ( ) ;
169
+ cy . wait ( 1000 ) ;
141
170
cy . get ( '[name="course.registrations.0.student.firstName"]' ) . click ( ) . type ( "- updated" ) ;
142
171
cy . get ( '[name="course.registrations.0.student.lastName"]' ) . click ( ) . type ( "- updated" ) ;
172
+ cy . get ( '[name="course.registrations.0.student.year"]' ) . click ( ) . type ( "- updated" ) ;
173
+ cy . get ( '[name="course.registrations.0.student.year"]' ) . click ( ) . type ( "1" ) ;
143
174
144
175
expectUpdateActionSubmissionVariables ( {
145
176
course : {
@@ -159,6 +190,7 @@ describeForEachAutoAdapter(
159
190
firstName : "Benjamin- updated" ,
160
191
id : "43" ,
161
192
lastName : "Martin- updated" ,
193
+ year : 1 ,
162
194
} ,
163
195
} ,
164
196
} ,
@@ -245,7 +277,7 @@ const RealUniversityCourseMetadata = {
245
277
fieldType : "HasManyThrough" ,
246
278
requiredArgumentForInput : false ,
247
279
sortable : false ,
248
- filterable : false ,
280
+ filterable : true ,
249
281
__typename : "GadgetModelField" ,
250
282
configuration : {
251
283
__typename : "GadgetHasManyThroughConfig" ,
@@ -285,7 +317,7 @@ const RealUniversityCourseMetadata = {
285
317
fieldType : "HasManyThrough" ,
286
318
requiredArgumentForInput : false ,
287
319
sortable : false ,
288
- filterable : false ,
320
+ filterable : true ,
289
321
__typename : "GadgetModelField" ,
290
322
configuration : {
291
323
__typename : "GadgetHasManyThroughConfig" ,
@@ -367,7 +399,7 @@ const RealUniversityCourseMetadata = {
367
399
fieldType : "HasMany" ,
368
400
requiredArgumentForInput : false ,
369
401
sortable : false ,
370
- filterable : false ,
402
+ filterable : true ,
371
403
__typename : "GadgetModelField" ,
372
404
configuration : {
373
405
__typename : "GadgetHasManyConfig" ,
@@ -393,7 +425,7 @@ const RealUniversityCourseMetadata = {
393
425
fieldType : "HasMany" ,
394
426
requiredArgumentForInput : false ,
395
427
sortable : false ,
396
- filterable : false ,
428
+ filterable : true ,
397
429
__typename : "GadgetModelField" ,
398
430
configuration : {
399
431
__typename : "GadgetHasManyConfig" ,
@@ -661,7 +693,7 @@ const RealUniversityCourseMetadata = {
661
693
fieldType : "HasManyThrough" ,
662
694
requiredArgumentForInput : false ,
663
695
sortable : false ,
664
- filterable : false ,
696
+ filterable : true ,
665
697
__typename : "GadgetModelField" ,
666
698
configuration : {
667
699
__typename : "GadgetHasManyThroughConfig" ,
@@ -743,7 +775,7 @@ const RealUniversityCourseMetadata = {
743
775
fieldType : "HasMany" ,
744
776
requiredArgumentForInput : false ,
745
777
sortable : false ,
746
- filterable : false ,
778
+ filterable : true ,
747
779
__typename : "GadgetModelField" ,
748
780
configuration : {
749
781
__typename : "GadgetHasManyConfig" ,
@@ -806,11 +838,26 @@ const RealUniversityCourseMetadata = {
806
838
] ,
807
839
} ,
808
840
} ,
841
+ {
842
+ name : "Attempt" ,
843
+ apiIdentifier : "attempt" ,
844
+ fieldType : "Number" ,
845
+ requiredArgumentForInput : true ,
846
+ sortable : true ,
847
+ filterable : true ,
848
+ __typename : "GadgetModelField" ,
849
+ configuration : {
850
+ __typename : "GadgetNumberConfig" ,
851
+ fieldType : "Number" ,
852
+ validations : [ ] ,
853
+ decimals : null ,
854
+ } ,
855
+ } ,
809
856
{
810
857
name : "Effective from" ,
811
858
apiIdentifier : "effectiveFrom" ,
812
859
fieldType : "DateTime" ,
813
- requiredArgumentForInput : true ,
860
+ requiredArgumentForInput : false ,
814
861
sortable : true ,
815
862
filterable : true ,
816
863
__typename : "GadgetModelField" ,
@@ -1064,7 +1111,7 @@ const RealUniversityCourseMetadata = {
1064
1111
fieldType : "HasManyThrough" ,
1065
1112
requiredArgumentForInput : false ,
1066
1113
sortable : false ,
1067
- filterable : false ,
1114
+ filterable : true ,
1068
1115
__typename : "GadgetModelField" ,
1069
1116
configuration : {
1070
1117
__typename : "GadgetHasManyThroughConfig" ,
@@ -1146,7 +1193,7 @@ const RealUniversityCourseMetadata = {
1146
1193
fieldType : "HasMany" ,
1147
1194
requiredArgumentForInput : false ,
1148
1195
sortable : false ,
1149
- filterable : false ,
1196
+ filterable : true ,
1150
1197
__typename : "GadgetModelField" ,
1151
1198
configuration : {
1152
1199
__typename : "GadgetHasManyConfig" ,
@@ -1236,7 +1283,7 @@ const RealUniversityCourseMetadata = {
1236
1283
fieldType : "HasMany" ,
1237
1284
requiredArgumentForInput : false ,
1238
1285
sortable : false ,
1239
- filterable : false ,
1286
+ filterable : true ,
1240
1287
__typename : "GadgetModelField" ,
1241
1288
configuration : {
1242
1289
__typename : "GadgetHasManyConfig" ,
@@ -1262,7 +1309,7 @@ const RealUniversityCourseMetadata = {
1262
1309
fieldType : "HasManyThrough" ,
1263
1310
requiredArgumentForInput : false ,
1264
1311
sortable : false ,
1265
- filterable : false ,
1312
+ filterable : true ,
1266
1313
__typename : "GadgetModelField" ,
1267
1314
configuration : {
1268
1315
__typename : "GadgetHasManyThroughConfig" ,
@@ -1302,7 +1349,7 @@ const RealUniversityCourseMetadata = {
1302
1349
fieldType : "HasMany" ,
1303
1350
requiredArgumentForInput : false ,
1304
1351
sortable : false ,
1305
- filterable : false ,
1352
+ filterable : true ,
1306
1353
__typename : "GadgetModelField" ,
1307
1354
configuration : {
1308
1355
__typename : "GadgetHasManyConfig" ,
@@ -1328,7 +1375,7 @@ const RealUniversityCourseMetadata = {
1328
1375
fieldType : "HasManyThrough" ,
1329
1376
requiredArgumentForInput : false ,
1330
1377
sortable : false ,
1331
- filterable : false ,
1378
+ filterable : true ,
1332
1379
__typename : "GadgetModelField" ,
1333
1380
configuration : {
1334
1381
__typename : "GadgetHasManyThroughConfig" ,
0 commit comments