Esempio n. 1
0
    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']
Esempio n. 2
0
    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)
Esempio n. 3
0
 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
Esempio n. 4
0
    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')
Esempio n. 5
0
    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'])
Esempio n. 6
0
    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)