Exemplo n.º 1
0
        public void GetActiveDurationShouldReturnDefaultIfNoUpdates()
        {
            var bugData = WorkItemsFactory.CreateBug().WithNoUpdates();

            var result = _dataSource.GetActiveDuration(bugData.WorkItem, Enumerable.Empty <TeamMemberViewModel>());

            result.Should().Be(1.0f);
        }
Exemplo n.º 2
0
        public void GetActiveDurationShouldReturnActiveDurationForStillActiveItem()
        {
            var bugData = WorkItemsFactory.CreateBug().WithActiveWorkItem(5);

            var result = _dataSource.GetActiveDuration(bugData.WorkItem, Enumerable.Empty <TeamMemberViewModel>());

            result.Should().Be(bugData.ExpectedDuration);
        }
Exemplo n.º 3
0
        public void GetActiveDurationShouldReturnActiveDurationForClosedTasks()
        {
            var john = Builder <TeamMemberViewModel> .CreateNew().Build();

            var taskData = WorkItemsFactory.CreateTask().WithNormalLifecycle(resolvedBy: john, 3, activatedBy: john, assignedTo: john);

            var result = _dataSource.GetActiveDuration(taskData.WorkItem, new[] { john });

            result.Should().Be(taskData.ExpectedDuration);
        }
Exemplo n.º 4
0
        public void GetActiveDurationShouldReturnDefaultIfItemWasResolvedWithoutActivation()
        {
            const int expectedDuration = 1;
            var       john             = Builder <TeamMemberViewModel> .CreateNew().Build();

            var taskData = WorkItemsFactory
                           .CreateTask()
                           .WithResolvedWithoutActivation(5, john);

            var result = _dataSource.GetActiveDuration(taskData.WorkItem, new[] { john });

            result.Should().Be(expectedDuration);
        }
Exemplo n.º 5
0
        public void GetActiveDurationShouldReturnDefaultIfItemWasNotActivateByTeam()
        {
            const int expectedDuration = 1;
            var       john             = Builder <TeamMemberViewModel> .CreateNew()
                                         .With(m => m.Email, "*****@*****.**")
                                         .Build();

            var merry = Builder <TeamMemberViewModel> .CreateNew()
                        .With(m => m.Email, "*****@*****.**")
                        .Build();

            var taskData = WorkItemsFactory
                           .CreateTask()
                           .WithNormalLifecycle(resolvedBy: john, 5, activatedBy: merry, assignedTo: merry);

            var result = _dataSource.GetActiveDuration(taskData.WorkItem, new[] { john });

            result.Should().Be(expectedDuration);
        }
Exemplo n.º 6
0
        public void GetActiveDurationShouldNotCountTimeWhileOnHold()
        {
            const int expectedDuration = 7;
            var       john             = Builder <TeamMemberViewModel> .CreateNew().Build();

            var taskData = WorkItemsFactory
                           .CreateTask()
                           .WithNormalLifecycle(resolvedBy: john, 10, activatedBy: john, assignedTo: john, onAfterActivation: (builder, activationDate) =>
            {
                builder = builder
                          .Then().AddTag(Constants.OnHoldTag).On(activationDate.AddBusinessDays(1))
                          .Then().RemoveTag(Constants.OnHoldTag).On(activationDate.AddBusinessDays(2))
                          .Then().AddTag(Constants.OnHoldTag).On(activationDate.AddBusinessDays(5))
                          .Then().RemoveTag(Constants.OnHoldTag).On(activationDate.AddBusinessDays(7));
            });

            var result = _dataSource.GetActiveDuration(taskData.WorkItem, new[] { john });

            result.Should().Be(expectedDuration);
        }
Exemplo n.º 7
0
        public void GetActiveDurationShouldCorrectlyHandleWhenPullRequestAddedAfterActivation()
        {
            const int expectedDuration = 2;
            var       john             = Builder <TeamMemberViewModel> .CreateNew().Build();

            var taskData = WorkItemsFactory
                           .CreateTask();

            taskData.WorkItem.Updates = UpdateBuilder.Create()
                                        .New().On(new DateTime(2019, 7, 9))
                                        .Then().Activated().On(new DateTime(2019, 7, 10))
                                        .Then().WithPullRequest(2222222).On(new DateTime(2019, 7, 11))
                                        .Then().With(WorkItemAssignedToField, john.Email, string.Empty).On(new DateTime(2019, 7, 12))
                                        .Then().Closed(john, "Active").On(new DateTime(2019, 7, 16))
                                        .Build();

            var result = _dataSource.GetActiveDuration(taskData.WorkItem, new[] { john });

            result.Should().Be(expectedDuration);
        }
Exemplo n.º 8
0
        public void GetActiveDurationShouldReturnOnlyTimeItrWasActuallyAssignedToTeamMember()
        {
            const int expectedDuration = 3;
            var       john             = Builder <TeamMemberViewModel> .CreateNew()
                                         .With(m => m.Email, "*****@*****.**")
                                         .Build();

            var merry = Builder <TeamMemberViewModel> .CreateNew()
                        .With(m => m.Email, "*****@*****.**")
                        .Build();

            var taskData = WorkItemsFactory
                           .CreateTask()
                           .WithNormalLifecycle(resolvedBy: john, 5, activatedBy: merry, assignedTo: merry, onAfterActivation: (builder, activationDate) =>
            {
                builder = builder.Then().With(Constants.WorkItemAssignedToField, john.Email, merry.Email).On(activationDate.AddDays(2));
            });

            var result = _dataSource.GetActiveDuration(taskData.WorkItem, new[] { john });

            result.Should().Be(expectedDuration);
        }
Exemplo n.º 9
0
        public void GetActiveDurationShouldCorrectlyHandleOnHoldToCodeReviewInOneUpdate()
        {
            const int expectedDuration = 2;
            var       john             = Builder <TeamMemberViewModel> .CreateNew().Build();

            var taskData = WorkItemsFactory
                           .CreateTask();

            taskData.WorkItem.Updates = UpdateBuilder.Create()
                                        .New()
                                        .With(WorkItemAssignedToField, john.Email, string.Empty)
                                        .On(new DateTime(2019, 7, 18))
                                        .Then().Activated().On(new DateTime(2019, 7, 19))
                                        .Then().AddTag(OnHoldTag).On(new DateTime(2019, 7, 23))
                                        .Then().RemoveTag(OnHoldTag).AddTag(CodeReviewTag).On(new DateTime(2019, 7, 25))
                                        .Then().Closed(john, "Active").On(new DateTime(2019, 8, 1))
                                        .Build();

            var result = _dataSource.GetActiveDuration(taskData.WorkItem, new[] { john });

            result.Should().Be(expectedDuration);
        }