Source code for concepts.tests
from django.test import TestCase
from django.db.models.signals import post_save
from concepts.authorities import resolve, search
from concepts.models import Concept, Type
from concepts.signals import concept_post_save_receiver, type_post_save_receiver
[docs]def disconnect_signal(signal, receiver, sender):
    disconnect = getattr(signal, 'disconnect')
    disconnect(receiver, sender) 
[docs]def reconnect_signal(signal, receiver, sender):
    connect = getattr(signal, 'connect')
    connect(receiver, sender=sender) 
[docs]class TestConceptSearch(TestCase):
[docs]    def test_search(self):
        concepts = search('Bradshaw', pos='noun')
        self.assertIsInstance(concepts, list)
        self.assertIsInstance(concepts[0], Concept)  
[docs]class TestConceptResolve(TestCase):
[docs]    def setUp(self):
        disconnect_signal(post_save, concept_post_save_receiver, Concept)
        disconnect_signal(post_save, type_post_save_receiver, Type) 
[docs]    def test_resolve(self):
        c = Concept(uri="http://www.digitalhps.org/concepts/CONe5b55803-1ef6-4abe-b81c-1493e97421df",
                    authority="ConceptpowerAuthority")
        c.save()
        resolve(Concept, c)
        resolve(Type, c.typed)
        self.assertTrue(hasattr(c, 'typed'))
        self.assertFalse(c.typed is None)
        self.assertTrue(c.resolved)
        self.assertTrue(c.typed.resolved)
        self.assertEqual(c.pos, 'noun') 
[docs]    def tearDown(self):
        reconnect_signal(post_save, concept_post_save_receiver, Concept)
        reconnect_signal(post_save, type_post_save_receiver, Type)