Beispiel #1
0
        public void Execute_GivenUpdateAssessmentCommand_AssessmentShouldBeUpdatedInContext()
        {
            var          assessmentId   = Guid.NewGuid();
            var          assessmentDate = new DateTime(2015, 1, 1);
            const string decision       = "decision";
            var          roleid         = (int)RoleIdEnum.DecisionMaker;

            var fakeContext = A.Fake <DbContext>();
            var set         = new TestDbSet <Assessment> {
                new Assessment()
                {
                    AssessmentId = assessmentId, RoleId = (int)RoleIdEnum.Assessor, DecisionMaker = "decisionmakername"
                }
            };

            var command = new UpdateAssessmentCommand()
            {
                AssessmentId           = assessmentId,
                DateAssessmentStarted  = assessmentDate,
                Stage1DecisionToBeMade = decision,
                RoleId = roleid
            };

            A.CallTo(() => _unitOfWork.Context).Returns(fakeContext);
            A.CallTo(() => fakeContext.Set <Assessment>()).Returns(set);

            _handler.Execute(command);

            var assessment = set.First(x => x.AssessmentId == assessmentId);

            assessment.DateAssessmentStarted.Should().Be(assessmentDate);
            assessment.Stage1DecisionToBeMade.Should().Be(decision);
            assessment.RoleId.Should().Be(roleid);
            assessment.DecisionMaker.Should().BeNull();
        }
Beispiel #2
0
        public void EditPOST_GivenAssessmentViewModelAndModelStateIsValid_WorkflowHandlerShouldNotBeCalled()
        {
            var command = new UpdateAssessmentCommand();

            A.CallTo(() => _assessmentBuilder.BuildUpdateAssessmentCommand(A <AssessmentViewModel> ._)).Returns(command);

            _assessmentController.ModelState.AddModelError("error", "error");
            _assessmentController.Edit(A <AssessmentViewModel> ._, A <Guid> ._);

            A.CallTo(() => _workflowHandler.UpdateAssessmentWorkflowQuestion(command)).MustNotHaveHappened();
        }
Beispiel #3
0
        public void UpdateAssessmentWorkflowQuestion(UpdateAssessmentCommand command)
        {
            var assessment = _assessmentHelper.GetAssessment(command.AssessmentId);

            var workflowVersion = _queryDispatcher.Dispatch <WorkflowVersionByIdQuery, WorkflowVersion>(new WorkflowVersionByIdQuery()
            {
                WorkflowVersionId = assessment.WorkflowVersionId
            });

            _assessmentHelper.UpdateAssessmentQuestions(command.AssessmentId, workflowVersion.InitialWorkflowQuestionId, null, null);

            _commandDispatcher.Dispatch(command);

            _unitOfWork.SaveChanges();
        }