public void Setup_OkState()
        {
            _journeyValidatorMock = new Mock <IJourneyValidator>();
            _journeyValidatorMock.Setup(r => r.ExistsStepAsync(_journeyId, _stepId, default)).Returns(Task.FromResult(true));

            _stepValidatorMock = new Mock <IStepValidator>();
            _stepValidatorMock.Setup(r => r.HasModeAsync(_modeId, _stepId, default)).Returns(Task.FromResult(true));

            _modeValidatorMock = new Mock <IModeValidator>();
            _modeValidatorMock.Setup(r => r.ExistsAsync(_modeId, default)).Returns(Task.FromResult(true));

            _rowVersionValidatorMock = new Mock <IRowVersionValidator>();
            _rowVersionValidatorMock.Setup(r => r.IsValid(_rowVersion)).Returns(true);

            _responsibleValidatorMock = new Mock <IResponsibleValidator>();

            _command = new UpdateStepCommand(_journeyId, _stepId, _modeId, _responsibleCode, _title, AutoTransferMethod.None, _rowVersion);

            _dut = new UpdateStepCommandValidator(
                _journeyValidatorMock.Object,
                _stepValidatorMock.Object,
                _modeValidatorMock.Object,
                _responsibleValidatorMock.Object,
                _rowVersionValidatorMock.Object);
        }
        public void Validate_ShouldBeValid_WhenSettingNoneAutoTransferMethod_AndAExistingStepHasNone()
        {
            var autoTransferMethod = AutoTransferMethod.None;

            _journeyValidatorMock.Setup(r => r.HasOtherStepWithAutoTransferMethodAsync(_journeyId, _stepId, autoTransferMethod, default)).Returns(Task.FromResult(true));

            _command = new UpdateStepCommand(_journeyId, _stepId, _modeId, _responsibleCode, _title, autoTransferMethod, _rowVersion);
            var result = _dut.Validate(_command);

            Assert.IsTrue(result.IsValid);
        }
Пример #3
0
        public void Constructor_ShouldSetProperties()
        {
            var dut = new UpdateStepCommand(1, 2, 3, "CODE", "TitleNew", AutoTransferMethod.OnRfocSign, "AAAAAAAAABA=");

            Assert.AreEqual(1, dut.JourneyId);
            Assert.AreEqual(2, dut.StepId);
            Assert.AreEqual(3, dut.ModeId);
            Assert.AreEqual("CODE", dut.ResponsibleCode);
            Assert.AreEqual("TitleNew", dut.Title);
            Assert.AreEqual(AutoTransferMethod.OnRfocSign, dut.AutoTransferMethod);
            Assert.AreEqual("AAAAAAAAABA=", dut.RowVersion);
        }
        public void Validate_ShouldFail_WhenInvalidRowVersion()
        {
            const string invalidRowVersion = "String";

            _command = new UpdateStepCommand(_journeyId, _stepId, _modeId, _responsibleCode, _title, AutoTransferMethod.None, invalidRowVersion);
            _rowVersionValidatorMock.Setup(r => r.IsValid(invalidRowVersion)).Returns(false);

            var result = _dut.Validate(_command);

            Assert.IsFalse(result.IsValid);
            Assert.AreEqual(1, result.Errors.Count);
            Assert.IsTrue(result.Errors[0].ErrorMessage.StartsWith("Not a valid row version!"));
        }
        public async Task <ActionResult> Update([FromBody] UpdateStepCommand updateStepCommand)
        {
            try
            {
                var result = await Mediator.Send(updateStepCommand);

                return(Ok(result.Step));
            }
            catch (UnauthorizedException e)
            {
                return(StatusCode(401, e.Message));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
Пример #6
0
        public async Task UpdateStepSuccessful()
        {
            var newName = "new name";

            var request = new UpdateStepCommand()
            {
                Id   = Utilities.P1Step1.Id,
                Name = newName
            };

            var response = await Client.PutAsync("/api/Step", Utilities.GetRequestContent(request));

            response.EnsureSuccessStatusCode();

            var responseContent = await Utilities.GetResponseContent <StepDto>(response);

            responseContent.Name.Should().Be(newName);
        }
Пример #7
0
        public async Task <IActionResult> UpdateStep(string buildID, int stepIndex, [FromBody] UpdateStepInputModel inputModel)
        {
            if (TryValidateModel(inputModel))
            {
                try {
                    var command = _mapper.Map <UpdateStepInputModel, UpdateStepCommand>(inputModel, UpdateStepCommand.FromBuild(buildID, stepIndex));
                    await _mediator.Send(command);

                    return(Ok());
                } catch (Exception exception) {
                    return(BadRequest(BadRequestOutputModel.FromException(exception)));
                }
            }
            return(BadRequest(ModelState));
        }
Пример #8
0
        public void Setup()
        {
            // Arrange
            _plantProviderMock = new Mock <IPlantProvider>();
            _plantProviderMock.Setup(p => p.Plant).Returns(TestPlant);

            var journeyRepositoryMock = new Mock <IJourneyRepository>();

            _journey = new Journey(TestPlant, "J");
            _journey.SetProtectedIdForTesting(_journeyId);

            _modeRepositoryMock = new Mock <IModeRepository>();
            _modeMock           = new Mock <Mode>();
            _modeMock.SetupGet(s => s.Plant).Returns(TestPlant);
            _modeMock.SetupGet(x => x.Id).Returns(_modeId);
            _modeRepositoryMock
            .Setup(r => r.GetByIdAsync(_modeId))
            .Returns(Task.FromResult(_modeMock.Object));

            _responsible = new Responsible(TestPlant, _responsibleCode, "D1");
            _responsible.SetProtectedIdForTesting(_responsibleId);
            _responsible2 = new Responsible(TestPlant, _responsibleCode2, "D2");
            _responsible2.SetProtectedIdForTesting(_responsibleId2);

            _responsibleRepositoryMock = new Mock <IResponsibleRepository>();
            _responsibleRepositoryMock
            .Setup(r => r.GetByCodeAsync(_responsibleCode))
            .Returns(Task.FromResult(_responsible));
            _responsibleRepositoryMock
            .Setup(r => r.GetByCodeAsync(_responsibleCode2))
            .Returns(Task.FromResult(_responsible2));
            _responsibleRepositoryMock.Setup(r => r.Add(It.IsAny <Responsible>()))
            .Callback <Responsible>(c => _addedResponsible = c);

            _pcsResponsibleMock = new Mock <PCSResponsible>();

            _responsibleApiServiceMock = new Mock <IResponsibleApiService>();
            _responsibleApiServiceMock.Setup(r => r.TryGetResponsibleAsync(TestPlant, _responsibleCode))
            .Returns(Task.FromResult(_pcsResponsibleMock.Object));

            _step = new Step(TestPlant, _oldTitle, _modeMock.Object, _responsible)
            {
                AutoTransferMethod = _oldAutoTransferMethod
            };
            _step.SetProtectedIdForTesting(_stepId);
            _journey.AddStep(_step);

            _responsibleApiServiceMock.Setup(s => s.TryGetResponsibleAsync(TestPlant, _responsibleCode))
            .Returns(Task.FromResult(new PCSResponsible {
                Description = "ResponsibleTitle"
            }));

            journeyRepositoryMock.Setup(s => s.GetByIdAsync(_journeyId))
            .Returns(Task.FromResult(_journey));

            _command = new UpdateStepCommand(_journeyId, _stepId, _modeId, _responsibleCode, _newTitle, _newAutoTransferMethod, _rowVersion);
            _commandWithResponsible2 = new UpdateStepCommand(_journeyId, _stepId, _modeId, _responsibleCode2, _newTitle, _newAutoTransferMethod, _rowVersion);

            _dut = new UpdateStepCommandHandler(
                journeyRepositoryMock.Object,
                _modeRepositoryMock.Object,
                _responsibleRepositoryMock.Object,
                UnitOfWorkMock.Object,
                _plantProviderMock.Object,
                _responsibleApiServiceMock.Object);
        }