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.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)
|
||||
flow_to_delete = OnboardingFlow.objects.create(
|
||||
title='Delete Me and Sessions',
|
||||
role=self.role,
|
||||
structure=[],
|
||||
)
|
||||
session = OnboardingSession.objects.create(
|
||||
|
||||
session_for_deleted_flow = OnboardingSession.objects.create(
|
||||
user=self.member,
|
||||
role=self.role,
|
||||
flow=flow_to_delete,
|
||||
state={'flow_uuid': str(flow_to_delete.uuid)},
|
||||
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}/')
|
||||
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):
|
||||
self.role.members.add(self.member)
|
||||
|
|
|
|||
|
|
@ -83,6 +83,28 @@ class OnboardingConsumerConfigSelectionTests(TestCase):
|
|||
fallback = self.consumer._build_fallback_quiz_fields(['Topic A', 'Topic B'])
|
||||
|
||||
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))
|
||||
self.assertTrue(all(item.get('validation', {}).get('correct_option') in item.get('options', []) for item in fallback))
|
||||
|
||||
select_items = [item for item in fallback if item.get('field_type') == 'select']
|
||||
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