public async Task DuplicateAreaTag_AsPlanner_ShouldDuplicateTag() { // Arrange var tagsResult = await TagsControllerTestsHelper.GetAllTagsAsync( UserType.Planner, TestFactory.PlantWithAccess, TestFactory.ProjectWithAccess); var initialTagsCount = tagsResult.Tags.Count; var readyToBeDuplicatedTag = tagsResult.Tags.FirstOrDefault(t => t.ReadyToBeDuplicated); Assert.IsNotNull(readyToBeDuplicatedTag, "Bad test setup: Didn't find tag to duplicate."); // Act var id = await TagsControllerTestsHelper.DuplicateAreaTagAsync( UserType.Planner, TestFactory.PlantWithAccess, readyToBeDuplicatedTag.Id, AreaTagType.SiteArea, KnownDisciplineCode, KnownAreaCode, null, "Desc", null, null); // Assert await AssertNewTagCreatedAsync(UserType.Planner, TestFactory.PlantWithAccess, id, initialTagsCount); await AssertInHistoryAsLatestEventAsync(id, UserType.Planner, EventType.TagCreated); }
private async Task AssertNewTagCreatedAsync( UserType userType, string plant, int id, int initialTagsCount) { Assert.IsTrue(id > 0); var tagsResult = await TagsControllerTestsHelper.GetAllTagsAsync( userType, plant, TestFactory.ProjectWithAccess); Assert.AreEqual(initialTagsCount + 1, tagsResult.Tags.Count); Assert.IsNotNull(tagsResult.Tags.SingleOrDefault(t => t.Id == id)); }
public async Task CreateStandardTag_AsPlanner_ShouldCreateStandardTag() { // Arrange var tagsResult = await TagsControllerTestsHelper.GetAllTagsAsync( UserType.Planner, TestFactory.PlantWithAccess, TestFactory.ProjectWithAccess); var initialTagsCount = tagsResult.Tags.Count; // Act var id = await CreateStandardTagAsync(TwoStepJourneyWithTags.Steps.First().Id, false); // Assert await AssertNewTagCreatedAsync(UserType.Planner, TestFactory.PlantWithAccess, id, initialTagsCount); }
public async Task GetAllTags_AsPreserver_ShouldGetTags() { // Act var tagsResult = await TagsControllerTestsHelper.GetAllTagsAsync( UserType.Preserver, TestFactory.PlantWithAccess, TestFactory.ProjectWithAccess); // Assert Assert.IsTrue(tagsResult.Tags.Count > 0); var siteAreaTag = tagsResult.Tags.Single(t => t.Id == TagIdUnderTest_ForSiteAreaTagReadyForBulkPreserve_NotStarted); Assert.IsNotNull(siteAreaTag.TagNo); Assert.IsNotNull(siteAreaTag.RowVersion); }
public async Task TestInitialize() { var result = await TagsControllerTestsHelper.GetAllTagsAsync( UserType.Preserver, TestFactory.PlantWithAccess, TestFactory.ProjectWithAccess); Assert.IsNotNull(result); InitialTagsCount = result.MaxAvailable; Assert.IsTrue(InitialTagsCount > 0, "Bad test setup: Didn't find any tags at startup"); Assert.AreEqual(InitialTagsCount, result.Tags.Count); var journeys = await JourneysControllerTestsHelper.GetJourneysAsync(UserType.LibraryAdmin, TestFactory.PlantWithAccess); TwoStepJourneyWithTags = journeys.Single(j => j.Title == KnownTestData.TwoStepJourneyWithTags); TagIdUnderTest_ForStandardTagReadyForBulkPreserve_NotStarted = TestFactory.Instance.SeededData[KnownPlantData.PlantA].TagId_ForStandardTagReadyForBulkPreserve_NotStarted; TagIdUnderTest_ForStandardTagWithAttachmentRequirement_Started = TestFactory.Instance.SeededData[KnownPlantData.PlantA].TagId_ForStandardTagWithAttachmentRequirement_Started; TagIdUnderTest_ForStandardTagWithInfoRequirement_Started = TestFactory.Instance.SeededData[KnownPlantData.PlantA].TagId_ForStandardTagWithInfoRequirement_Started; TagIdUnderTest_ForStandardTagWithCbRequirement_Started = TestFactory.Instance.SeededData[KnownPlantData.PlantA].TagId_ForStandardTagWithCbRequirement_Started; TagIdUnderTest_ForSiteAreaTagReadyForBulkPreserve_NotStarted = TestFactory.Instance.SeededData[KnownPlantData.PlantA].TagId_ForSiteAreaTagReadyForBulkPreserve_NotStarted; TagIdUnderTest_ForStandardTagWithAttachmentsAndActionAttachments_Started = TestFactory.Instance.SeededData[KnownPlantData.PlantA].TagId_ForStandardTagWithAttachmentsAndActionAttachments_Started; TagIdUnderTest_ForSiteAreaTagWithAttachmentsAndActionAttachments_NotStarted = TestFactory.Instance.SeededData[KnownPlantData.PlantA].TagId_ForSiteAreaTagWithAttachmentsAndActionAttachments_NotStarted; TestFactory.Instance .DisciplineApiServiceMock .Setup(service => service.TryGetDisciplineAsync(TestFactory.PlantWithAccess, KnownDisciplineCode)) .Returns(Task.FromResult(new PCSDiscipline { Code = KnownDisciplineCode, Description = $"{KnownDisciplineCode} - Description" })); TestFactory.Instance .AreaApiServiceMock .Setup(service => service.TryGetAreaAsync(TestFactory.PlantWithAccess, KnownAreaCode)) .Returns(Task.FromResult(new PCSArea { Code = KnownAreaCode, Description = $"{KnownAreaCode} - Description" })); }
public async Task CreatePoAreaTag_AsPlanner_ShouldCreatePoAreaTag() { // Arrange var tagsResult = await TagsControllerTestsHelper.GetAllTagsAsync( UserType.Planner, TestFactory.PlantWithAccess, TestFactory.ProjectWithAccess); var initialTagsCount = tagsResult.Tags.Count; var supplierStepId = TwoStepJourneyWithTags.Steps.First(s => s.Mode.ForSupplier).Id; // Act var id = await CreateAreaTagAsync( AreaTagType.PoArea, supplierStepId, KnownPOCode, false); // Assert await AssertNewTagCreatedAsync(UserType.Planner, TestFactory.PlantWithAccess, id, initialTagsCount); }
public async Task Reschedule_AsPlanner_ShouldRescheduleTags() { // Arrange var tagIdUnderTest = await CreateAreaTagAsync( AreaTagType.PreArea, TwoStepJourneyWithTags.Steps.First().Id, null, true); var tagsResult = await TagsControllerTestsHelper.GetAllTagsAsync( UserType.Planner, TestFactory.PlantWithAccess, TestFactory.ProjectWithAccess); var tagToReschedule = tagsResult.Tags.Single(t => t.Id == tagIdUnderTest); // Act var currentRowVersion = tagToReschedule.RowVersion; var idAndRowVersions = await TagsControllerTestsHelper.RescheduleAsync( UserType.Planner, TestFactory.PlantWithAccess, new List <IdAndRowVersion> { new IdAndRowVersion { Id = tagIdUnderTest, RowVersion = currentRowVersion } }, 52, RescheduledDirection.Later, "Test"); // Assert Assert.IsNotNull(idAndRowVersions); Assert.AreEqual(1, idAndRowVersions.Count); var requirementDetailDto = idAndRowVersions.Single(); AssertRowVersionChange(currentRowVersion, requirementDetailDto.RowVersion); await AssertInHistoryAsLatestEventAsync(tagToReschedule.Id, UserType.Planner, EventType.Rescheduled); }
public async Task Transfer_AsPlanner_ShouldTransferTags() { // Arrange var tagIdUnderTest = await CreateAreaTagAsync( AreaTagType.PreArea, TwoStepJourneyWithTags.Steps.First().Id, null, true); var tagsResult = await TagsControllerTestsHelper.GetAllTagsAsync( UserType.Planner, TestFactory.PlantWithAccess, TestFactory.ProjectWithAccess); var tagToTransfer = tagsResult.Tags.Single(t => t.Id == tagIdUnderTest); Assert.IsTrue(tagToTransfer.ReadyToBeTransferred, "Bad test setup: Didn't find tag ready to be transferred"); var currentRowVersion = tagToTransfer.RowVersion; // Act var idAndRowVersions = await TagsControllerTestsHelper.TransferAsync( UserType.Planner, TestFactory.PlantWithAccess, new List <IdAndRowVersion> { new IdAndRowVersion { Id = tagIdUnderTest, RowVersion = currentRowVersion } }); // Assert Assert.IsNotNull(idAndRowVersions); Assert.AreEqual(1, idAndRowVersions.Count); var requirementDetailDto = idAndRowVersions.Single(); AssertRowVersionChange(currentRowVersion, requirementDetailDto.RowVersion); await AssertInHistoryAsLatestEventAsync(tagToTransfer.Id, UserType.Planner, EventType.TransferredManually); }