Skip to content

Commit dd7ab3e

Browse files
authored
Merge pull request #66 from jaimin001/main
added test case for fetch children
2 parents 1eeed7a + c8b1848 commit dd7ab3e

File tree

2 files changed

+34
-13
lines changed

2 files changed

+34
-13
lines changed

backend/family_tree/student/schema.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def tree_for_batch(root,info,batch):
2323

2424
class Query(graphene.ObjectType):
2525
students=graphene.List(StudentType)
26-
children=graphene.List(StudentType, parent_id=graphene.String())
26+
children=graphene.List(StudentType, parentId=graphene.String())
2727
student_path= graphene.List(StudentType, roll=graphene.String())
2828
student_sibling= graphene.List(StudentType, roll=graphene.String())
2929
student_search= graphene.List(StudentType, search_query=graphene.String())
@@ -32,8 +32,8 @@ class Query(graphene.ObjectType):
3232
def resolve_students(root,info):
3333
return Student.objects.all()
3434

35-
def resolve_children(parent_id):
36-
return Student.objects.filter(parentId=parent_id)
35+
def resolve_children(root, info, parentId):
36+
return Student.objects.filter(parentId=parentId)
3737

3838
def resolve_student_path(root, info, roll):
3939
pathObjects=[]

backend/family_tree/student/tests.py

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,37 @@
11
from django.test import TestCase
2-
import json
32
from graphene_django.utils.testing import GraphQLTestCase
3+
import json
44
from student.models import Student
55
from mixer.backend.django import mixer
66

7-
class testCasesForStudents(GraphQLTestCase):
7+
8+
class StudentTestCases(GraphQLTestCase):
89
GRAPHQL_URL = 'http://localhost/graphql'
10+
911
def setUp(self):
10-
super().setUp()
11-
self.student1 = mixer.blend(Student, name='student1', roll_no='1', parentId='root')
12-
self.student2 = mixer.blend(Student, name='student2', roll_no='2', parentId='1')
13-
self.student3 = mixer.blend(Student, name='student3', roll_no='3', parentId='1')
14-
self.student4 = mixer.blend(Student, name='student4', roll_no='4', parentId='1')
12+
super().setUp()
13+
self.student1 = mixer.blend(Student, name='student1', roll_no='1', parentId='root')
14+
self.student2 = mixer.blend(Student, name='student2', roll_no='2', parentId='1')
15+
self.student3 = mixer.blend(Student, name='student3', roll_no='3', parentId='1')
16+
self.student4 = mixer.blend(Student, name='student4', roll_no='4', parentId='1')
17+
18+
19+
def test_children_query(self):
20+
response = self.query('''
21+
query {
22+
children(parentId: "1"){
23+
rollNo
24+
name
25+
}
26+
}
27+
''')
28+
29+
content = json.loads(response.content)
30+
self.assertResponseNoErrors(response)
31+
self.assertDictEqual(content['data']['children'][0], {'rollNo': '2', 'name': 'student2'})
32+
self.assertDictEqual(content['data']['children'][1], {'rollNo': '3', 'name': 'student3'})
33+
self.assertDictEqual(content['data']['children'][2], {'rollNo': '4', 'name': 'student4'})
34+
1535
def test_student_query(self):
1636
response = self.query('''
1737
query {
@@ -21,10 +41,11 @@ def test_student_query(self):
2141
}
2242
}
2343
''')
24-
content= json.loads(response.content)
44+
content = json.loads(response.content)
2545
self.assertResponseNoErrors(response)
2646
self.assertDictEqual(content['data']['students'][0], {'id': str(self.student1.id), 'name': self.student1.name})
27-
self.assertDictEqual(content['data']['students'][1], {'id': str(self.student2.id), 'name': self.student2.name})
47+
self.assertDictEqual(content['data']['students'][1], {'id': str(self.student2.id), 'name': self.student2.name})\
48+
2849
def test_student_sibling(self):
2950
response = self.query('''
3051
query {
@@ -37,4 +58,4 @@ def test_student_sibling(self):
3758
content= json.loads(response.content)
3859
self.assertResponseNoErrors(response)
3960
self.assertDictEqual(content['data']['studentSibling'][0], {'id': str(self.student3.id), 'name': self.student3.name})
40-
self.assertDictEqual(content['data']['studentSibling'][1], {'id': str(self.student4.id), 'name': self.student4.name})
61+
self.assertDictEqual(content['data']['studentSibling'][1], {'id': str(self.student4.id), 'name': self.student4.name})

0 commit comments

Comments
 (0)