@@ -86,6 +86,15 @@ def test_simple(self):
86
86
field .accesses .filter (access_id = access , level = level ).exists ()
87
87
)
88
88
89
+ def test_fields_slug (self ):
90
+ data = deepcopy (form_data )
91
+ # duplicate field
92
+ data ['fields' ] *= 2
93
+ res = self .client .post (
94
+ reverse ('formidable:form_create' ), data , format = 'json'
95
+ )
96
+ self .assertEquals (res .status_code , 400 )
97
+
89
98
def test_with_items_in_fields (self ):
90
99
initial_count = Formidable .objects .count ()
91
100
res = self .client .post (
@@ -179,6 +188,17 @@ def test_create_field_on_update(self):
179
188
self .assertEquals (form .pk , self .form .pk )
180
189
self .assertEquals (form .fields .count (), 2 )
181
190
191
+ def test_duplicate_items_update (self ):
192
+ # create a form with items
193
+ data = deepcopy (form_data_items )
194
+ res = self .client .put (self .edit_url , data , format = 'json' )
195
+ self .assertEquals (res .status_code , 200 )
196
+ # update items with duplicate entries
197
+ data ['fields' ] *= 2
198
+ res = self .client .put (self .edit_url , data , format = 'json' )
199
+ # expect validation error
200
+ self .assertEquals (res .status_code , 400 )
201
+
182
202
def test_delete_field_on_update (self ):
183
203
self .form .fields .create (
184
204
type_id = 'text' , slug = 'textslug' , label = 'mytext' ,
0 commit comments