@@ -169,7 +169,6 @@ def test_nested_id(self):
169
169
{'ocid' : 1 , 'id' : 2 , 'subField' : [{'id' : 3 , 'testA' : {'id' : 4 }}]}
170
170
]
171
171
172
- @pytest .mark .xfail
173
172
def test_missing_columns (self , recwarn ):
174
173
spreadsheet_input = ListInput (
175
174
sheets = {
@@ -184,7 +183,7 @@ def test_missing_columns(self, recwarn):
184
183
'ocid' : 1 ,
185
184
'id' : '' ,
186
185
'subField/0/id' : 3 ,
187
- 'subField/0/testA/id ' : 4 ,
186
+ 'subField/0/testA' : 4 ,
188
187
},
189
188
{
190
189
'ocid' : 1 ,
@@ -197,13 +196,42 @@ def test_missing_columns(self, recwarn):
197
196
main_sheet_name = 'custom_main' )
198
197
spreadsheet_input .read_sheets ()
199
198
unflattened = list (spreadsheet_input .unflatten ())
200
- # We should have a warning about conflicting ID fields
201
- w = recwarn .pop (UserWarning )
202
- assert 'no parent id fields populated' in text_type (w .message )
203
- assert 'Line 2 of sheet sub' in text_type (w .message )
204
199
# Check that following lines are parsed correctly
205
200
assert unflattened == [
206
- {'ocid' : 1 , 'id' : 2 , 'subField' : [{'id' : 3 , 'testA' : 5 }]}
201
+ {'ocid' : 1 , 'id' : 2 , 'subField' : [{'id' : 3 , 'testA' : 5 }]},
202
+ {'ocid' : 1 , 'subField' : [{'id' : 3 , 'testA' : 4 }]},
203
+ ]
204
+
205
+ def test_unmatched_id (self , recwarn ):
206
+ spreadsheet_input = ListInput (
207
+ sheets = {
208
+ 'custom_main' : [
209
+ {
210
+ 'ocid' : 1 ,
211
+ 'id' : 2 ,
212
+ }
213
+ ],
214
+ 'sub' : [
215
+ {
216
+ 'ocid' : 1 ,
217
+ 'id' : 100 ,
218
+ 'subField/0/id' : 3 ,
219
+ 'subField/0/testA' : 4 ,
220
+ },
221
+ {
222
+ 'ocid' : 1 ,
223
+ 'id' : 2 ,
224
+ 'subField/0/id' : 3 ,
225
+ 'subField/0/testA' : 5 ,
226
+ }
227
+ ]
228
+ },
229
+ main_sheet_name = 'custom_main' )
230
+ spreadsheet_input .read_sheets ()
231
+ unflattened = list (spreadsheet_input .unflatten ())
232
+ assert unflattened == [
233
+ {'ocid' : 1 , 'id' : 2 , 'subField' : [{'id' : 3 , 'testA' : 5 }]},
234
+ {'ocid' : 1 , 'id' : 100 , 'subField' : [{'id' : 3 , 'testA' : 4 }]},
207
235
]
208
236
209
237
0 commit comments