Exemplo n.º 1
0
        public void Setup_OkState()
        {
            _tagIds = new List <int> {
                TagId1, TagId2
            };
            _tagsIdsWithRowVersion = new List <IdAndRowVersion>
            {
                new IdAndRowVersion(TagId1, RowVersion1),
                new IdAndRowVersion(TagId2, RowVersion2)
            };
            _projectValidatorMock = new Mock <IProjectValidator>();
            _projectValidatorMock.Setup(p => p.AllTagsInSameProjectAsync(_tagIds, default)).Returns(Task.FromResult(true));
            _tagValidatorMock = new Mock <ITagValidator>();
            _tagValidatorMock.Setup(r => r.ExistsAsync(TagId1, default)).Returns(Task.FromResult(true));
            _tagValidatorMock.Setup(r => r.ExistsAsync(TagId2, default)).Returns(Task.FromResult(true));
            _tagValidatorMock.Setup(r => r.IsReadyToBeCompletedAsync(TagId1, default)).Returns(Task.FromResult(true));
            _tagValidatorMock.Setup(r => r.IsReadyToBeCompletedAsync(TagId2, default)).Returns(Task.FromResult(true));
            _rowVersionValidatorMock = new Mock <IRowVersionValidator>();
            _rowVersionValidatorMock.Setup(r => r.IsValid(RowVersion1)).Returns(true);
            _rowVersionValidatorMock.Setup(r => r.IsValid(RowVersion2)).Returns(true);
            _command = new CompletePreservationCommand(_tagsIdsWithRowVersion);

            _dut = new CompletePreservationCommandValidator(
                _projectValidatorMock.Object,
                _tagValidatorMock.Object,
                _rowVersionValidatorMock.Object);
        }
Exemplo n.º 2
0
        public void Validate_ShouldFail_WhenNoTagsGiven()
        {
            var command = new CompletePreservationCommand(new List <IdAndRowVersion>());

            var result = _dut.Validate(command);

            Assert.IsFalse(result.IsValid);
            Assert.AreEqual(1, result.Errors.Count);
            Assert.IsTrue(result.Errors[0].ErrorMessage.StartsWith("At least 1 tag must be given!"));
        }
Exemplo n.º 3
0
        public void Constructor_ShouldSetProperties()
        {
            var idAndRowVersion = new IdAndRowVersion(17, "AAAAAAAAABA=");
            var dut             = new CompletePreservationCommand(new List <IdAndRowVersion> {
                idAndRowVersion
            });

            Assert.AreEqual(1, dut.Tags.Count());
            Assert.AreEqual(idAndRowVersion, dut.Tags.First());
        }
Exemplo n.º 4
0
        public void Validate_ShouldFail_WhenTagsNotUnique()
        {
            var command = new CompletePreservationCommand(new List <IdAndRowVersion> {
                new IdAndRowVersion(1, null), new IdAndRowVersion(1, null)
            });

            var result = _dut.Validate(command);

            Assert.IsFalse(result.IsValid);
            Assert.AreEqual(1, result.Errors.Count);
            Assert.IsTrue(result.Errors[0].ErrorMessage.StartsWith("Tags must be unique!"));
        }
        public async Task <IActionResult> CompletePreservation(
            [FromHeader(Name = CurrentPlantMiddleware.PlantHeader)]
            [Required]
            string plant,
            [FromRoute] int id,
            [FromBody] CompletePreservationDto dto)
        {
            var command = new CompletePreservationCommand(new List <IdAndRowVersion> {
                new IdAndRowVersion(id, dto.RowVersion)
            });

            var result = await _mediator.Send(command);

            return(this.FromResult(result));
        }
        public void Setup()
        {
            var rdId1   = 17;
            var rdId2   = 18;
            var tagId1  = 7;
            var tagId2  = 8;
            var stepId1 = 9;
            var stepId2 = 10;

            var step1Mock = new Mock <Step>();

            step1Mock.SetupGet(s => s.Plant).Returns(TestPlant);
            step1Mock.SetupGet(s => s.Id).Returns(stepId1);

            var step2Mock = new Mock <Step>();

            step2Mock.SetupGet(s => s.Plant).Returns(TestPlant);
            step2Mock.SetupGet(s => s.Id).Returns(stepId2);

            var journey = new Journey(TestPlant, "D");

            journey.AddStep(step1Mock.Object);
            journey.AddStep(step2Mock.Object);

            _rd1Mock = new Mock <RequirementDefinition>();
            _rd1Mock.SetupGet(rd => rd.Id).Returns(rdId1);
            _rd1Mock.SetupGet(rd => rd.Plant).Returns(TestPlant);
            _rd2Mock = new Mock <RequirementDefinition>();
            _rd2Mock.SetupGet(rd => rd.Id).Returns(rdId2);
            _rd2Mock.SetupGet(rd => rd.Plant).Returns(TestPlant);

            _req1OnTag1 = new TagRequirement(TestPlant, 2, _rd1Mock.Object);
            _req2OnTag1 = new TagRequirement(TestPlant, 2, _rd2Mock.Object);
            _req1OnTag2 = new TagRequirement(TestPlant, 2, _rd1Mock.Object);
            _req2OnTag2 = new TagRequirement(TestPlant, 2, _rd2Mock.Object);
            _tag1       = new Tag(TestPlant, TagType.Standard, "", "", step2Mock.Object, new List <TagRequirement>
            {
                _req1OnTag1, _req2OnTag1
            });
            _tag1.StartPreservation();
            _tag1.SetProtectedIdForTesting(tagId1);

            _tag2 = new Tag(TestPlant, TagType.Standard, "", "", step2Mock.Object, new List <TagRequirement>
            {
                _req1OnTag2, _req2OnTag2
            });
            _tag2.StartPreservation();
            _tag2.SetProtectedIdForTesting(tagId2);

            var tags = new List <Tag>
            {
                _tag1, _tag2
            };

            var tagIds = new List <int> {
                tagId1, tagId2
            };
            var tagIdsWithRowVersion = new List <IdAndRowVersion> {
                new IdAndRowVersion(tagId1, _rowVersion1), new IdAndRowVersion(tagId2, _rowVersion2)
            };

            _projectRepoMock = new Mock <IProjectRepository>();
            _projectRepoMock.Setup(r => r.GetTagsByTagIdsAsync(tagIds)).Returns(Task.FromResult(tags));

            var journeyRepoMock = new Mock <IJourneyRepository>();

            journeyRepoMock
            .Setup(r => r.GetJourneysByStepIdsAsync(new List <int> {
                stepId2
            }))
            .Returns(Task.FromResult(new List <Journey> {
                journey
            }));

            _command = new CompletePreservationCommand(tagIdsWithRowVersion);

            _dut = new CompletePreservationCommandHandler(_projectRepoMock.Object, journeyRepoMock.Object, UnitOfWorkMock.Object);
        }