def setUp(self): super(ConceptVersionStaticMethodsTest, self).setUp() self.concept1 = Concept(mnemonic='concept1', concept_class='First', public_access=ACCESS_TYPE_EDIT) display_name = LocalizedText(name='concept1', locale='en') self.concept1.names.append(display_name) kwargs = { 'parent_resource': self.source1, } Concept.persist_new(self.concept1, self.user1, **kwargs) initial_version = ConceptVersion.get_latest_version_of(self.concept1) self.concept2 = Concept(mnemonic='concept2', concept_class='Second', names=[self.name]) kwargs = { 'parent_resource': self.source2, } Concept.persist_new(self.concept2, self.user1, **kwargs) self.concept_version = ConceptVersion( mnemonic='version1', versioned_object=self.concept1, concept_class='First', names=self.concept1.names, previous_version=initial_version, created_by=self.user1.username, updated_by=self.user1.username, version_created_by=self.user1.username, ) self.concept_version.full_clean() self.concept_version.save()
def setUp(self): super(ConceptVersionTest, self).setUp() self.concept1 = Concept( mnemonic='concept1', created_by=self.user1, updated_by=self.user1, parent=self.source1, concept_class='First', external_id='EXTID', names=[self.name], ) display_name = LocalizedText(name='concept1', locale='en') self.concept1.names.append(display_name) kwargs = { 'parent_resource': self.source1, } Concept.persist_new(self.concept1, self.user1, **kwargs) self.concept2 = Concept( mnemonic='concept2', created_by=self.user1, updated_by=self.user1, parent=self.source1, concept_class='Second', names=[self.name], ) kwargs = { 'parent_resource': self.source2, } Concept.persist_new(self.concept2, self.user1, **kwargs)
def test_concept_display_name(self): concept = Concept( mnemonic='concept1', created_by=self.user1, updated_by=self.user1, parent=self.source1, concept_class='First', names=[self.name], ) display_name = LocalizedText( name='concept1', locale='en', locale_preferred=True, ) concept.names.append(display_name) concept.full_clean() concept.save() self.assertTrue(Concept.objects.filter(mnemonic='concept1').exists()) self.assertFalse(concept.retired) self.assertEquals(display_name.name, concept.display_name) self.assertEquals(display_name.locale, concept.display_locale) self.assertEquals(self.source1.owner_name, concept.owner_name) self.assertEquals(self.source1.owner_type, concept.owner_type) self.assertEquals(0, concept.num_versions)
def create_localized_text(name, locale='en', type='FULLY_SPECIFIED', locale_preferred=False): return LocalizedText(name=name, locale=locale, type=type, locale_preferred=locale_preferred)
def restore_object(self, attrs, instance=None): concept_desc = instance if instance else LocalizedText() concept_desc.name = attrs.get('name', concept_desc.name) concept_desc.locale = attrs.get('locale', concept_desc.locale) concept_desc.locale_preferred = attrs.get('locale_preferred', concept_desc.locale_preferred) concept_desc.type = attrs.get('type', concept_desc.type) concept_desc.external_id = attrs.get('external_id', concept_desc.external_id) return concept_desc
def element_from_native(self, element): if not element or not isinstance(element, dict): msg = self.error_messages['invalid'] % element raise ValidationError(msg) lt = LocalizedText() external_id = element.get('external_id', None) if external_id: lt.external_id = external_id name = element.get(self.name_attr, None) if name is None or not isinstance(name, unicode): msg = self.error_messages['invalid'] % element raise ValidationError(msg) lt.name = name locale = element.get('locale', None) if locale is None or not isinstance(locale, unicode): msg = self.error_messages['invalid'] % element raise ValidationError(msg) lt.locale = locale locale_preferred = element.get('locale_preferred', False) lt.locale_preferred = locale_preferred in ['True', 'true', 'TRUE'] lt.type = element.get(self.type_attr, None) return lt
def element_from_native(self, element): if not element or not isinstance(element, dict): msg = self.error_messages['invalid'] % element raise ValidationError(msg) lt = LocalizedText() external_id = element.get('external_id', None) if external_id: lt.external_id = external_id name = element.get(self.name_attr, None) if name is None or not isinstance(name, unicode): msg = self.error_messages['invalid'] % element raise ValidationError(msg) lt.name = name locale = element.get('locale', None) if locale is None or not isinstance(locale, unicode): msg = self.error_messages['invalid'] % element raise ValidationError(msg) lt.locale = locale locale_preferred = element.get('locale_preferred', False) lt.locale_preferred = locale_preferred in [True, 'True', 'true', 'TRUE'] lt.type = element.get(self.type_attr, None) return lt