Add Trainer statistics tests
This commit is contained in:
parent
68d44f950f
commit
dc6c645c46
|
|
@ -73,7 +73,8 @@ class DashboardQuery(graphene.ObjectType):
|
|||
coursesessionuser__role=CourseSessionUser.Role.EXPERT,
|
||||
).values_list("id", flat=True)
|
||||
setattr(info.context, "circle_ids", list(circle_ids))
|
||||
# get trainer courses & circles
|
||||
|
||||
# todo: if course_session_ids and circles are empty return none or 404 or 401
|
||||
|
||||
# return None
|
||||
|
||||
|
|
|
|||
|
|
@ -318,6 +318,122 @@ class AssignmentTestCase(GraphQLTestCase):
|
|||
self.assertEqual(assignment_3_metrics["average_passed"], 100)
|
||||
|
||||
|
||||
class ExpertAssignmentTestCase(AssignmentTestCase):
|
||||
def setUp(self):
|
||||
self.course, self.course_page = create_course("Test Course")
|
||||
self.course_session = create_course_session(course=self.course, title=":)")
|
||||
course_session = create_course_session(course=self.course, title=":(")
|
||||
self.circle, _ = create_circle(title="Circle", course_page=self.course_page)
|
||||
circle, _ = create_circle(title="Other Circle", course_page=self.course_page)
|
||||
|
||||
create_course_session_group(course_session=self.course_session)
|
||||
|
||||
self.m1 = create_user("member_1")
|
||||
add_course_session_user(
|
||||
course_session=self.course_session,
|
||||
user=self.m1,
|
||||
role=CourseSessionUser.Role.MEMBER,
|
||||
)
|
||||
|
||||
self.m2 = create_user("member_2")
|
||||
add_course_session_user(
|
||||
course_session=self.course_session,
|
||||
user=self.m2,
|
||||
role=CourseSessionUser.Role.MEMBER,
|
||||
)
|
||||
|
||||
self.m3 = create_user("member_3")
|
||||
add_course_session_user(
|
||||
course_session=self.course_session,
|
||||
user=self.m3,
|
||||
role=CourseSessionUser.Role.MEMBER,
|
||||
)
|
||||
|
||||
self.e1 = create_user("expert_1")
|
||||
csu = add_course_session_user(
|
||||
course_session=self.course_session,
|
||||
user=self.e1,
|
||||
role=CourseSessionUser.Role.EXPERT,
|
||||
)
|
||||
csu.expert.add(self.circle)
|
||||
|
||||
m4 = create_user("member_4")
|
||||
add_course_session_user(
|
||||
course_session=course_session,
|
||||
user=m4,
|
||||
role=CourseSessionUser.Role.MEMBER,
|
||||
)
|
||||
|
||||
m5 = create_user("member_5")
|
||||
add_course_session_user(
|
||||
course_session=course_session,
|
||||
user=m5,
|
||||
role=CourseSessionUser.Role.MEMBER,
|
||||
)
|
||||
|
||||
# assignments in the other course session should not be included
|
||||
assignment_1, _ = mix_assignment_cocktail(
|
||||
deadline_at=datetime(1990, 4, 1),
|
||||
assignment_type=AssignmentType.CASEWORK,
|
||||
course_session=course_session,
|
||||
circle=self.circle,
|
||||
add_competence_certificate=True,
|
||||
)
|
||||
|
||||
assignment_2, _ = mix_assignment_cocktail(
|
||||
deadline_at=datetime(2000, 4, 1),
|
||||
assignment_type=AssignmentType.EDONIQ_TEST,
|
||||
course_session=course_session,
|
||||
circle=self.circle,
|
||||
add_competence_certificate=True,
|
||||
)
|
||||
|
||||
create_assignment_completion(
|
||||
user=m4,
|
||||
assignment=assignment_1,
|
||||
course_session=course_session,
|
||||
has_passed=True,
|
||||
)
|
||||
|
||||
create_assignment_completion(
|
||||
user=m5,
|
||||
assignment=assignment_2,
|
||||
course_session=course_session,
|
||||
)
|
||||
|
||||
# assignments in the same course session, but in a different circle. Should not be included
|
||||
assignment_3, _ = mix_assignment_cocktail(
|
||||
deadline_at=datetime(1990, 4, 1),
|
||||
assignment_type=AssignmentType.CASEWORK,
|
||||
course_session=self.course_session,
|
||||
circle=circle,
|
||||
add_competence_certificate=True,
|
||||
)
|
||||
|
||||
assignment_4, _ = mix_assignment_cocktail(
|
||||
deadline_at=datetime(2000, 4, 1),
|
||||
assignment_type=AssignmentType.EDONIQ_TEST,
|
||||
course_session=self.course_session,
|
||||
circle=circle,
|
||||
add_competence_certificate=True,
|
||||
)
|
||||
|
||||
create_assignment_completion(
|
||||
user=self.m1,
|
||||
assignment=assignment_1,
|
||||
course_session=self.course_session,
|
||||
has_passed=True,
|
||||
)
|
||||
|
||||
create_assignment_completion(
|
||||
user=self.m1,
|
||||
assignment=assignment_2,
|
||||
course_session=self.course_session,
|
||||
)
|
||||
|
||||
self.client.force_login(self.e1)
|
||||
|
||||
|
||||
def mix_assignment_cocktail(
|
||||
assignment_type: AssignmentType,
|
||||
course_session: CourseSession,
|
||||
|
|
|
|||
Loading…
Reference in New Issue