def testSplitValuesImport(self): testimport = SpreadsheetImport( StringIO("ID,Split,NoSplit\nA999,a;b,a;b"), [self.collection]) testimport.analyze() dc = dict( identifier=Field.objects.get(name='identifier', standard__prefix='dc'), title=Field.objects.get(name='title', standard__prefix='dc'), creator=Field.objects.get(name='creator', standard__prefix='dc'), ) testimport.mapping = { 'ID': dc['identifier'], 'Split': dc['title'], 'NoSplit': dc['creator'], } testimport.name_field = 'ID' testimport.separate_fields = { 'Split': True, } testimport.run() r = self.collection.records.get(name='A999'.lower()) self.assertEqual( 'a', r.fieldvalue_set.filter( field=testimport.mapping['Split'])[0].value) self.assertEqual( 'b', r.fieldvalue_set.filter( field=testimport.mapping['Split'])[1].value) self.assertEqual( 'a;b', r.fieldvalue_set.filter( field=testimport.mapping['NoSplit'])[0].value)
def testImportSimple(self): no_signals() testimport = SpreadsheetImport(StringIO(csv_file), [self.collection]) self.assertEqual(0, self.collection.records.count()) testimport.analyze() dc = dict( identifier=Field.objects.get(name='identifier', standard__prefix='dc'), title=Field.objects.get(name='title', standard__prefix='dc'), creator=Field.objects.get(name='creator', standard__prefix='dc'), coverage=Field.objects.get(name='coverage', standard__prefix='dc'), ) testimport.mapping = { 'ID': dc['identifier'], 'Filename': None, 'Title': dc['title'], 'Creator': dc['creator'], 'Location': dc['coverage'], } testimport.name_field = 'ID' self.assertNotEqual(None, testimport.get_identifier_field()) testimport.run() self.assertEquals(2, self.collection.records.count()) r1 = self.collection.records.get(name='A001'.lower()) self.assertEqual('A001', r1.fieldvalue_set.get(field=dc['identifier']).value)
def testImportSimple(self): testimport = SpreadsheetImport(StringIO(csv_file), [self.collection]) self.assertEqual(0, self.collection.records.count()) testimport.analyze() dc = dict( identifier=Field.objects.get(name='identifier', standard__prefix='dc'), title=Field.objects.get(name='title', standard__prefix='dc'), creator=Field.objects.get(name='creator', standard__prefix='dc'), coverage=Field.objects.get(name='coverage', standard__prefix='dc'), ) testimport.mapping = { 'ID': dc['identifier'], 'Filename': None, 'Title': dc['title'], 'Creator': dc['creator'], 'Location': dc['coverage'], } testimport.name_field = 'ID' self.assertNotEqual(None, testimport.get_identifier_field()) testimport.run() self.assertEquals(2, self.collection.records.count()) r1 = self.collection.records.get(name='A001'.lower()) self.assertEqual('A001', r1.fieldvalue_set.get(field=dc['identifier']).value)
def test_split_values_import(self): testimport = SpreadsheetImport( StringIO("ID,Split,NoSplit\nA999,a;b,a;b"), [self.collection]) testimport.analyze() dc = dict( identifier=Field.objects.get( name='identifier', standard__prefix='dc'), title=Field.objects.get(name='title', standard__prefix='dc'), creator=Field.objects.get(name='creator', standard__prefix='dc'), ) testimport.mapping = { 'ID': dc['identifier'], 'Split': dc['title'], 'NoSplit': dc['creator'], } testimport.name_field = 'ID' testimport.separate_fields = { 'Split': True, } testimport.run() r = self.collection.records.get(name='A999'.lower()) self.assertEqual( 'a', r.fieldvalue_set.filter(field=testimport.mapping['Split'])[0].value ) self.assertEqual( 'b', r.fieldvalue_set.filter(field=testimport.mapping['Split'])[1].value ) self.assertEqual( 'a;b', r.fieldvalue_set.filter( field=testimport.mapping['NoSplit'])[0].value )