Exemplo n.º 1
0
        public void Validate_ShouldBeValid_WithoutRequirements()
        {
            var command = new UpdateRequirementsCommand("", "", new List <RequirementForCommand>());
            var result  = _dut.Validate(command);

            Assert.IsTrue(result.IsValid);
        }
        public void Constructor_ShouldSetProperties_WithoutRequirements()
        {
            var dut = new UpdateRequirementsCommand("TFC", "RC", null);

            Assert.IsNotNull(dut.Requirements);
            Assert.AreEqual(0, dut.Requirements.Count());
        }
        public IHttpActionResult CreateUpdateRequirement([FromUri] int projectId, [FromBody] UpdateRequirementsCommand command)
        {
            if (command == null || projectId <= 0)
            {
                return(BadRequest(DefaultMessages.InvalidBody));
            }
            List <UpdateRequirementsCommand> commands = new List <UpdateRequirementsCommand>()
            {
                command
            };
            ValidationError error = new UpdateRequirementsCommandValidator().Validate(commands);

            if (error.IsInvalid)
            {
                return(BadRequest(error.Error));
            }
            ProjectsRepository projectsRepository = new ProjectsRepository(Connection, HttpContext.Current.User);

            if (projectsRepository.Find(projectId) == null)
            {
                return(BadRequest("Projeto não encontrado."));
            }
            List <Requirement>     requirements = new RequirementsService().MapCommand(commands);
            RequirementsRepository repository   = new RequirementsRepository(Connection);

            repository.Update(projectId, requirements);
            return(Ok());
        }
Exemplo n.º 4
0
        public void Setup()
        {
            // Arrange
            _rtRepositoryMock = new Mock <IRequirementTypeRepository>();
            var rdMock1 = new Mock <RequirementDefinition>();

            rdMock1.SetupGet(x => x.Id).Returns(ReqDefId1);
            rdMock1.SetupGet(x => x.Plant).Returns(TestPlant);
            _reqDef1 = rdMock1.Object;
            var rdMock2 = new Mock <RequirementDefinition>();

            rdMock2.SetupGet(x => x.Id).Returns(ReqDefId2);
            rdMock2.SetupGet(x => x.Plant).Returns(TestPlant);
            _reqDef2 = rdMock2.Object;

            _rtRepositoryMock
            .Setup(r => r.GetRequirementDefinitionsByIdsAsync(new List <int> {
                ReqDefId1, ReqDefId2
            }))
            .Returns(Task.FromResult(new List <RequirementDefinition> {
                rdMock1.Object, rdMock2.Object
            }));

            _tagFunctionApiServiceMock = new Mock <ITagFunctionApiService>();
            _tagFunctionApiServiceMock.Setup(t => t.TryGetTagFunctionAsync(TestPlant, TagFunctionCode, RegisterCode))
            .Returns(Task.FromResult(new PCSTagFunction
            {
                Code         = TagFunctionCode,
                Description  = PCSDescription,
                RegisterCode = RegisterCode
            }));
            _commandWithTwoRequirements = new UpdateRequirementsCommand(TagFunctionCode, RegisterCode,
                                                                        new List <RequirementForCommand>
            {
                new RequirementForCommand(ReqDefId1, Interval1),
                new RequirementForCommand(ReqDefId2, Interval2),
            });
            _commandWithoutRequirements = new UpdateRequirementsCommand(TagFunctionCode, RegisterCode, null);

            _tfRepositoryMock = new Mock <ITagFunctionRepository>();
            _tfRepositoryMock
            .Setup(x => x.Add(It.IsAny <TagFunction>()))
            .Callback <TagFunction>(tf =>
            {
                _tfAddedToRepository = tf;
            });

            _dut = new UpdateRequirementsCommandHandler(
                _tfRepositoryMock.Object,
                _rtRepositoryMock.Object,
                UnitOfWorkMock.Object,
                PlantProviderMock.Object,
                _tagFunctionApiServiceMock.Object);
        }
        public void Constructor_ShouldSetProperties_WithRequirements()
        {
            var req = new RequirementForCommand(1, 2);
            var dut = new UpdateRequirementsCommand("TFC", "RC", new List <RequirementForCommand> {
                req
            });

            Assert.AreEqual("TFC", dut.TagFunctionCode);
            Assert.AreEqual("RC", dut.RegisterCode);
            Assert.AreEqual(1, dut.Requirements.Count());
            Assert.AreEqual(req, dut.Requirements.Single());
        }
Exemplo n.º 6
0
        public void Validate_ShouldFail_WhenRequirementsNotUnique()
        {
            var command = new UpdateRequirementsCommand("", "",
                                                        new List <RequirementForCommand>
            {
                new RequirementForCommand(_rd1Id, 1),
                new RequirementForCommand(_rd1Id, 1)
            });

            var result = _dut.Validate(command);

            Assert.IsFalse(result.IsValid);
            Assert.AreEqual(1, result.Errors.Count);
            Assert.IsTrue(result.Errors[0].ErrorMessage.StartsWith("Requirement definitions must be unique!"));
        }
Exemplo n.º 7
0
        public void Setup_OkState()
        {
            _rdValidatorMock = new Mock <IRequirementDefinitionValidator>();
            _rdValidatorMock.Setup(r => r.ExistsAsync(_rd1Id, default)).Returns(Task.FromResult(true));
            _rdValidatorMock.Setup(r => r.ExistsAsync(_rd2Id, default)).Returns(Task.FromResult(true));
            _rdValidatorMock.Setup(r => r.UsageCoversBothForSupplierAndOtherAsync(new List <int> {
                _rd1Id, _rd2Id
            }, default)).Returns(Task.FromResult(true));

            _command = new UpdateRequirementsCommand("", "",
                                                     new List <RequirementForCommand>
            {
                new RequirementForCommand(_rd1Id, 1),
                new RequirementForCommand(_rd2Id, 1)
            });

            _dut = new UpdateRequirementsCommandValidator(_rdValidatorMock.Object);
        }
Exemplo n.º 8
0
        private static Requirement CreateCommandToRequirement(UpdateRequirementsCommand command)
        {
            Requirement requirement = new Requirement()
            {
                Id          = command.Id,
                ParentId    = command.ParentId,
                Completed   = command.Completed,
                Name        = command.Name,
                Description = command.Description,
                Children    = new List <Requirement>()
            };

            if (command.Children != null)
            {
                foreach (UpdateRequirementsCommand child in command.Children)
                {
                    requirement.Children.Add(CreateCommandToRequirement(child));
                }
            }
            return(requirement);
        }