Fixed failing tests
This commit is contained in:
parent
cb0aa071b3
commit
6d85fd4341
2 changed files with 43 additions and 6 deletions
|
|
@ -597,23 +597,38 @@ class OnboardingApiTests(TestCase):
|
||||||
self.assertEqual(response.status_code, HTTP_400_BAD_REQUEST)
|
self.assertEqual(response.status_code, HTTP_400_BAD_REQUEST)
|
||||||
self.assertIn('structure', response.data)
|
self.assertIn('structure', response.data)
|
||||||
|
|
||||||
def test_onboarding_flow_destroy_removes_sessions_for_role(self):
|
def test_onboarding_flow_destroy_removes_sessions_for_flow(self):
|
||||||
self.client.force_authenticate(self.manager)
|
self.client.force_authenticate(self.manager)
|
||||||
flow_to_delete = OnboardingFlow.objects.create(
|
flow_to_delete = OnboardingFlow.objects.create(
|
||||||
title='Delete Me and Sessions',
|
title='Delete Me and Sessions',
|
||||||
role=self.role,
|
role=self.role,
|
||||||
structure=[],
|
structure=[],
|
||||||
)
|
)
|
||||||
session = OnboardingSession.objects.create(
|
|
||||||
|
session_for_deleted_flow = OnboardingSession.objects.create(
|
||||||
user=self.member,
|
user=self.member,
|
||||||
role=self.role,
|
role=self.role,
|
||||||
|
flow=flow_to_delete,
|
||||||
state={'flow_uuid': str(flow_to_delete.uuid)},
|
state={'flow_uuid': str(flow_to_delete.uuid)},
|
||||||
active_configs={},
|
active_configs={},
|
||||||
)
|
)
|
||||||
|
untouched_flow = OnboardingFlow.objects.create(
|
||||||
|
title='Keep Me and Sessions',
|
||||||
|
role=self.role,
|
||||||
|
structure=[],
|
||||||
|
)
|
||||||
|
session_for_other_flow = OnboardingSession.objects.create(
|
||||||
|
user=self.member,
|
||||||
|
role=self.role,
|
||||||
|
flow=untouched_flow,
|
||||||
|
state={'flow_uuid': str(untouched_flow.uuid)},
|
||||||
|
active_configs={},
|
||||||
|
)
|
||||||
|
|
||||||
response = self.client.delete(f'/api/onboarding-flow/{flow_to_delete.uuid}/')
|
response = self.client.delete(f'/api/onboarding-flow/{flow_to_delete.uuid}/')
|
||||||
self.assertEqual(response.status_code, HTTP_204_NO_CONTENT)
|
self.assertEqual(response.status_code, HTTP_204_NO_CONTENT)
|
||||||
self.assertFalse(OnboardingSession.objects.filter(uuid=session.uuid).exists())
|
self.assertFalse(OnboardingSession.objects.filter(uuid=session_for_deleted_flow.uuid).exists())
|
||||||
|
self.assertTrue(OnboardingSession.objects.filter(uuid=session_for_other_flow.uuid).exists())
|
||||||
|
|
||||||
def test_onboarding_flow_start_session_updates_flow_uuid_on_existing_session(self):
|
def test_onboarding_flow_start_session_updates_flow_uuid_on_existing_session(self):
|
||||||
self.role.members.add(self.member)
|
self.role.members.add(self.member)
|
||||||
|
|
|
||||||
|
|
@ -83,6 +83,28 @@ class OnboardingConsumerConfigSelectionTests(TestCase):
|
||||||
fallback = self.consumer._build_fallback_quiz_fields(['Topic A', 'Topic B'])
|
fallback = self.consumer._build_fallback_quiz_fields(['Topic A', 'Topic B'])
|
||||||
|
|
||||||
self.assertEqual(len(fallback), 8)
|
self.assertEqual(len(fallback), 8)
|
||||||
self.assertTrue(all(item.get('field_type') == 'select' for item in fallback))
|
|
||||||
self.assertTrue(all(len(item.get('options', [])) >= 4 for item in fallback))
|
select_items = [item for item in fallback if item.get('field_type') == 'select']
|
||||||
self.assertTrue(all(item.get('validation', {}).get('correct_option') in item.get('options', []) for item in fallback))
|
short_answer_items = [
|
||||||
|
item
|
||||||
|
for item in fallback
|
||||||
|
if item.get('field_type') in ('text', 'textarea')
|
||||||
|
]
|
||||||
|
|
||||||
|
self.assertGreaterEqual(len(select_items), 2)
|
||||||
|
self.assertGreaterEqual(len(short_answer_items), 2)
|
||||||
|
|
||||||
|
self.assertTrue(all(len(item.get('options', [])) >= 4 for item in select_items))
|
||||||
|
self.assertTrue(
|
||||||
|
all(
|
||||||
|
item.get('validation', {}).get('correct_option') in item.get('options', [])
|
||||||
|
for item in select_items
|
||||||
|
)
|
||||||
|
)
|
||||||
|
self.assertTrue(
|
||||||
|
all(
|
||||||
|
isinstance(item.get('validation', {}).get('accepted_answers', []), list)
|
||||||
|
and len(item.get('validation', {}).get('accepted_answers', [])) > 0
|
||||||
|
for item in short_answer_items
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue