def test_child_count_updates(self): source = SourceFactory(version=HEAD) self.assertEqual(source.active_concepts, 0) concept = ConceptFactory(sources=[source], parent=source) source.save() self.assertEqual(source.active_concepts, 1) self.assertEqual(source.last_concept_update, concept.updated_at) self.assertEqual(source.last_child_update, source.last_concept_update)
def test_concept_access_changes_with_source(self): source = SourceFactory(version=HEAD) self.assertEqual(source.public_access, ACCESS_TYPE_EDIT) concept = ConceptFactory(parent=source, public_access=ACCESS_TYPE_EDIT) self.assertEqual(concept.public_access, ACCESS_TYPE_EDIT) source.public_access = ACCESS_TYPE_VIEW source.save() concept.refresh_from_db() self.assertEqual(source.public_access, ACCESS_TYPE_VIEW) self.assertEqual(source.public_access, concept.public_access)
def test_source_active_inactive_should_affect_children(self): source = SourceFactory(is_active=True) concept = ConceptFactory(parent=source, is_active=True) source.is_active = False source.save() concept.refresh_from_db() self.assertFalse(source.is_active) self.assertFalse(concept.is_active) source.is_active = True source.save() concept.refresh_from_db() self.assertTrue(source.is_active) self.assertTrue(concept.is_active)