def test_add_task_concept(self): self.assertTrue( self.client.login(username=self.user.username, password=self.password)) task = Task() concept = Concept() contrast = Contrast() tsk = task.create('test_add_task_concept', {'prop': 'prop'}) con = concept.create('test_add_task_concept', {'prop': 'prop'}) cont = contrast.create('test_add_task_concept', {'prop': 'prop'}) concept.link(con.properties['id'], cont.properties['id'], "HASCONTRAST", endnode_type='contrast') response = self.client.post( reverse('add_task_concept', kwargs={'uid': tsk.properties['id']}), {'concept_selection': con.properties['id']}) self.assertEqual(response.status_code, 200) response = self.client.get( reverse('task', kwargs={'uid': tsk.properties['id']})) self.assertEqual(response.status_code, 200) self.assertEqual(len(response.context['task']['relations']['ASSERTS']), 1) self.assertEqual( response.context['task']['relations']['ASSERTS'][0]['id'], con.properties['id']) tsk.delete_related() con.delete_related() tsk.delete() con.delete() cont.delete()
def add_concept_relation(request, uid): '''add_concept_relation will add a relation from a concept to another concept (PARTOF or KINDOF) :param uid: the uid of the concept page, for returning to the page after creation ''' if request.method == "POST": relation_type = request.POST.get('relation_type', '') concept_selection = request.POST.get('concept_selection', '') Concept.link(uid, concept_selection, relation_type) return view_concept(request, uid)
def add_concept_contrast(request, uid): '''add_concept_contrast will add a contrast associated with conditions--> task to the task view :param uid: the uid of the task, to return to the correct page after creation ''' if request.method == "POST": relation_type = "MEASUREDBY" #concept --MEASUREDBY-> contrast contrast_selection = request.POST.get('contrast_selection', '') concept_id = request.POST.get('concept_id', '') Concept.link(concept_id, contrast_selection, relation_type, endnode_type="contrast") return view_task(request, uid)
def setUp(self): self.task = Task() self.node_name = "test_name" self.node_properties = {'test_key': 'test_value'} self.graph = Graph("http://graphdb:7474/db/data/") self.task1 = self.task.create( name=self.node_name, properties=self.node_properties) self.task2 = self.task.create( name=self.node_name, properties=self.node_properties) condition = Condition() self.cond = condition.create( name=self.node_name, properties=self.node_properties) contrast = Contrast() self.cont = contrast.create( name=self.node_name, properties=self.node_properties) concept = Concept() self.con = concept.create( name=self.node_name, properties=self.node_properties) self.task.link( self.task1.properties['id'], self.cond.properties['id'], "HASCONDITION", endnode_type='condition') self.task.link( self.task1.properties['id'], self.con.properties['id'], "ASSERTS", endnode_type='concept') condition.link( self.cond.properties['id'], self.cont.properties['id'], "HASCONTRAST", endnode_type='contrast') concept.link( self.con.properties['id'], self.cont.properties['id'], "MEASUREDBY", endnode_type='contrast')