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_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_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 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)
 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)
 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_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_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)