def test_create_alias_missing_language(self): bad_data = copy.deepcopy(self.GOOD_DATA_SINGLE) del bad_data['aliases'][0]['language_id'] aliases, default_alias = create_aliases(bad_data) self.assertEqual(len(aliases), 1) self._assert_alias_equal(aliases[0], u'test', u'test_sort', None, True) self.assertIs(default_alias, aliases[0])
def test_create_alias_primary_missing(self): data = copy.deepcopy(self.GOOD_DATA_SINGLE) del data['aliases'][0]['primary'] aliases, default_alias = create_aliases(data) self.assertEqual(len(aliases), 1) self.assertEqual(aliases[0].name, u'test') self.assertEqual(aliases[0].sort_name, u'test_sort') self.assertEqual(aliases[0].language_id, 1) self.assertFalse(aliases[0].primary) self.assertIs(default_alias, aliases[0])
def test_create_alias_single_default(self): data = copy.deepcopy(self.GOOD_DATA_SINGLE) data['aliases'].append(data['aliases'][0]) data['aliases'][1]['default'] = True aliases, default_alias = create_aliases(data) self.assertEqual(len(aliases), 2) self.assertEqual(aliases[0].name, u'test') self.assertEqual(aliases[0].sort_name, u'test_sort') self.assertEqual(aliases[0].language_id, 1) self.assertTrue(aliases[0].primary) self.assertIs(default_alias, aliases[1])
def create(cls, data, session): new_data = cls() new_data.annotation = Annotation.create(data) new_data.disambiguation = Disambiguation.create(data) new_data.identifiers = create_identifiers(data) new_data.aliases, default_alias = create_aliases(data) if default_alias is not None: new_data.default_alias = default_alias return new_data
def test_create_alias_textual_language(self): bad_data = copy.deepcopy(self.GOOD_DATA_SINGLE) bad_data['aliases'][0]['language_id'] = "bob" aliases, default_alias = create_aliases(bad_data) self.assertEqual(len(aliases), 0) self.assertIs(default_alias, None)
def test_create_alias_missing_sort_name(self): bad_data = copy.deepcopy(self.GOOD_DATA_SINGLE) del bad_data['aliases'][0]['sort_name'] aliases, default_alias = create_aliases(bad_data) self._assert_no_aliases(aliases, default_alias)
def test_create_alias_numeric_sort_name(self): bad_data = copy.deepcopy(self.GOOD_DATA_SINGLE) bad_data['aliases'][0]['sort_name'] = 2 aliases, default_alias = create_aliases(bad_data) self._assert_no_aliases(aliases, default_alias)
def test_create_alias_single(self): aliases, default_alias = create_aliases(self.GOOD_DATA_SINGLE) self.assertEqual(len(aliases), 1) self._assert_alias_equal(aliases[0], u'test', u'test_sort', 1, True) self.assertIs(default_alias, aliases[0])
def test_create_alias_empty(self): aliases, default_alias = create_aliases({'aliases': []}) self._assert_no_aliases(aliases, default_alias)
def test_create_alias_primary_numeric(self): data = copy.deepcopy(self.GOOD_DATA_SINGLE) data['aliases'][0]['primary'] = 500 aliases, default_alias = create_aliases(data) self.assertEqual(len(aliases), 0) self.assertIs(default_alias, None)