Esempio n. 1
0
        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);
        }