def test_get_workflow(self): self._create_submission() team_api.create_workflow(self.team_submission_uuid) # When I get the workflow team_workflow = team_api.get_workflow_for_submission(self.team_submission_uuid) # It is updated and returns a correctly serialized version assert team_workflow['team_submission_uuid'] == self.team_submission_uuid assert 'teams' in team_workflow['status_details']
def create_team_workflow(self, submission_uuid): """ Create a new team workflow for a student submission. Args: submission_uuid (str): The UUID of the submission to associate with the workflow. Returns: None """ team_workflow_api.create_workflow(submission_uuid)
def _create_team_submission(self, course_id, item_id, team_id, submitting_user_id, team_member_student_ids): """ Create a team submission and initialize a team workflow """ team_submission = team_sub_api.create_submission_for_team( course_id, item_id, team_id, submitting_user_id, team_member_student_ids, ANSWER, ) team_workflow_api.create_workflow(team_submission['team_submission_uuid']) return team_submission
def test_get_workflow_cancellation(self): # Given a cancelled workflow self._create_submission() team_api.create_workflow(self.team_submission_uuid) team_api.cancel_workflow( team_submission_uuid=self.team_submission_uuid, comments='cancelled', cancelled_by_id='my-id') # When I query for a cancelled flow cancellation = team_api.get_assessment_workflow_cancellation( self.team_submission_uuid) # Then I get serialized info from the cancellation self.assertEqual(cancellation['comments'], 'cancelled') self.assertEqual(cancellation['cancelled_by_id'], 'my-id')
def test_create_workflow(self): self._create_submission() team_workflow = team_api.create_workflow(self.team_submission_uuid) self.assertEqual(team_workflow.team_submission_uuid, self.team_submission_uuid) self.assertIn(team_workflow.submission_uuid, self.submission_uuids) self.assertEqual(team_workflow.status, TeamAssessmentWorkflow.STATUS.teams) self.assertEqual(team_workflow.course_id, self.course_id) self.assertEqual(team_workflow.item_id, self.item_id) step_names = [step.name for step in team_workflow.steps.all()] self.assertEqual(step_names, ['teams'])
def test_cancel_workflow(self): # Given a workflow self._create_submission() team_workflow = team_api.create_workflow(self.team_submission_uuid) # When I cancel the workflow team_api.cancel_workflow( team_submission_uuid=self.team_submission_uuid, comments='cancelled', cancelled_by_id='my-id' ) # The workflow status should be cancelled... team_workflow = team_api.get_workflow_for_submission(self.team_submission_uuid) self.assertTrue(team_api.is_workflow_cancelled(self.team_submission_uuid)) self.assertEqual(team_workflow['status'], 'cancelled') # and the points/score should be 0 self.assertEqual(team_workflow['score'], None)