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); }
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!")); }
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()); }
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); }