public async Task <IActionResult> RecordValues(
            [FromHeader(Name = CurrentPlantMiddleware.PlantHeader)]
            [Required]
            [StringLength(PlantEntityBase.PlantLengthMax, MinimumLength = PlantEntityBase.PlantLengthMin)]
            string plant,
            [FromRoute] int id,
            [FromRoute] int requirementId,
            [FromBody] RequirementValuesDto requirementValuesDto)
        {
            var numberValues = requirementValuesDto?
                               .NumberValues?
                               .Select(fv => new NumberFieldValue(fv.FieldId, fv.Value, fv.IsNA)).ToList();
            var checkBoxValues = requirementValuesDto?
                                 .CheckBoxValues?
                                 .Select(fv => new CheckBoxFieldValue(fv.FieldId, fv.IsChecked)).ToList();

            var command = new RecordValuesCommand(
                id,
                requirementId,
                numberValues,
                checkBoxValues,
                requirementValuesDto?.Comment);

            var result = await _mediator.Send(command);

            return(this.FromResult(result));
        }
        public void Constructor_ShouldSetProperties()
        {
            var dut = new RecordValuesCommand(1, 2, null, null, "Comment");

            Assert.AreEqual(1, dut.TagId);
            Assert.AreEqual(2, dut.RequirementId);
            Assert.IsNotNull(dut.CheckBoxValues);
            Assert.IsNotNull(dut.NumberValues);
            Assert.AreEqual(0, dut.NumberValues.Count);
            Assert.AreEqual("Comment", dut.Comment);
        }
Exemplo n.º 3
0
        public void Setup_OkState()
        {
            _projectValidatorMock = new Mock <IProjectValidator>();
            _tagValidatorMock     = new Mock <ITagValidator>();
            _tagValidatorMock.Setup(v => v.ExistsRequirementAsync(TagId, ReqId, default))
            .Returns(Task.FromResult(true));
            _tagValidatorMock.Setup(v => v.ExistsFieldForRequirementAsync(TagId, ReqId, NumberFieldId, default))
            .Returns(Task.FromResult(true));
            _tagValidatorMock.Setup(v => v.ExistsFieldForRequirementAsync(TagId, ReqId, CheckBoxFieldId, default))
            .Returns(Task.FromResult(true));
            _tagValidatorMock.Setup(v => v.HasRequirementWithActivePeriodAsync(TagId, ReqId, default))
            .Returns(Task.FromResult(true));
            _fieldValidatorMock = new Mock <IFieldValidator>();
            _fieldValidatorMock.Setup(r => r.IsValidForRecordingAsync(NumberFieldId, default))
            .Returns(Task.FromResult(true));
            _fieldValidatorMock.Setup(r => r.IsValidForRecordingAsync(CheckBoxFieldId, default))
            .Returns(Task.FromResult(true));

            _recordValuesCommandWithCommentOnly = new RecordValuesCommand(
                TagId,
                ReqId,
                null,
                null,
                Comment);

            _recordValuesCommand = new RecordValuesCommand(
                TagId,
                ReqId,
                new EditableList <NumberFieldValue> {
                new NumberFieldValue(NumberFieldId, 1282.91, false)
            },
                new List <CheckBoxFieldValue> {
                new CheckBoxFieldValue(CheckBoxFieldId, true)
            },
                Comment);

            _dut = new RecordValuesCommandValidator(_projectValidatorMock.Object, _tagValidatorMock.Object, _fieldValidatorMock.Object);
        }
        public void Setup()
        {
            var _tagId           = 1;
            var _checkBoxFieldId = 11;
            var _numberFieldId   = 12;
            var _reqId           = 21;

            _recordValuesCommandWithCheckedCheckBoxAndNumber = new RecordValuesCommand(
                _tagId,
                _reqId,
                new List <NumberFieldValue> {
                new NumberFieldValue(_numberFieldId, 21, false)
            },
                new List <CheckBoxFieldValue> {
                new CheckBoxFieldValue(_checkBoxFieldId, true)
            },
                null);

            _recordValuesCommandWithNullAsNumber = new RecordValuesCommand(
                _tagId,
                _reqId,
                new List <NumberFieldValue> {
                new NumberFieldValue(_numberFieldId, null, false)
            },
                null,
                null);

            var requirementDefinitionWith2FieldsMock = new Mock <RequirementDefinition>();

            requirementDefinitionWith2FieldsMock.SetupGet(r => r.Id).Returns(_reqId);
            requirementDefinitionWith2FieldsMock.SetupGet(r => r.Plant).Returns(TestPlant);

            var checkBoxFieldMock = new Mock <Field>(TestPlant, "", FieldType.CheckBox, 0, null, null);

            checkBoxFieldMock.SetupGet(f => f.Id).Returns(_checkBoxFieldId);
            checkBoxFieldMock.SetupGet(f => f.Plant).Returns(TestPlant);
            requirementDefinitionWith2FieldsMock.Object.AddField(checkBoxFieldMock.Object);

            var numberFieldMock = new Mock <Field>(TestPlant, "", FieldType.Number, 0, "mm", false);

            numberFieldMock.SetupGet(f => f.Id).Returns(_numberFieldId);
            numberFieldMock.SetupGet(f => f.Plant).Returns(TestPlant);
            requirementDefinitionWith2FieldsMock.Object.AddField(numberFieldMock.Object);

            var requirementMock = new Mock <TagRequirement>(TestPlant, 2, requirementDefinitionWith2FieldsMock.Object);

            requirementMock.SetupGet(r => r.Id).Returns(_reqId);
            requirementMock.SetupGet(r => r.Plant).Returns(TestPlant);
            _requirement = requirementMock.Object;

            var stepMock = new Mock <Step>();

            stepMock.SetupGet(s => s.Plant).Returns(TestPlant);
            var tag = new Tag(TestPlant, TagType.Standard, "", "", stepMock.Object, new List <TagRequirement>
            {
                _requirement
            });

            tag.StartPreservation();
            Assert.AreEqual(PreservationStatus.Active, tag.Status);
            Assert.IsTrue(_requirement.HasActivePeriod);

            var _projectRepositoryMock = new Mock <IProjectRepository>();

            _projectRepositoryMock
            .Setup(r => r.GetTagByTagIdAsync(_tagId))
            .Returns(Task.FromResult(tag));

            var _rtRepositoryMock = new Mock <IRequirementTypeRepository>();

            _rtRepositoryMock
            .Setup(r => r.GetRequirementDefinitionByIdAsync(_reqId))
            .Returns(Task.FromResult(requirementDefinitionWith2FieldsMock.Object));

            _dut = new RecordValuesCommandHandler(
                _projectRepositoryMock.Object,
                _rtRepositoryMock.Object,
                UnitOfWorkMock.Object);
        }