public async System.Threading.Tasks.Task RemoveAsync_ManageSprintsServiceReturnsFalse_ReturnsFalse()
        {
            // Arrange
            const string teamOwner        = "1234";
            const int    sprintId         = 10;
            Team         team             = Team.Create(1, "1234", "1234", new List <TeamMember>());
            Team         teamAnotherOwner = Team.Create(1, "123", "1234", new List <TeamMember>());
            var          sprints          = new List <Sprint>
            {
                Sprint.Create(1, 1, team, "Sprint1", 14, 4, PossibleStatuses.CompletedStatus),
                Sprint.Create(2, 1, team, "Sprint2", 16, 4, PossibleStatuses.ActiveStatus),
                Sprint.Create(3, 1, team, "Sprint3", 21, 2, PossibleStatuses.CompletedStatus),
                Sprint.Create(4, 1, team, "Sprint4", 10, 3, PossibleStatuses.CompletedStatus),
                Sprint.Create(5, 1, teamAnotherOwner, "Sprint5", 27, 5, PossibleStatuses.CompletedStatus),
            };
            var user = new Mock <UserDetails>(null);

            user.Setup(x => x.Id()).Returns(teamOwner);
            _currentUser.SetupGet(x => x.Current).Returns(user.Object);
            var mock = sprints.AsQueryable().BuildMock();

            _sprintRepository.Setup(x => x.GetAllAsync())
            .Returns(System.Threading.Tasks.Task.FromResult(sprints.AsEnumerable()));
            _sprintRepository.Setup(x => x.DeleteAsync(It.IsAny <int>()))
            .ReturnsAsync(true);

            //Act
            var result1 = await _manageSprintsService.RemoveAsync(sprintId);

            var result2 = await _manageSprintsService.RemoveAsync(5);

            //Assert
            Assert.IsFalse(result1);
            Assert.IsFalse(result2);
        }
        public async System.Threading.Tasks.Task GetAllSprintsAsync_ManageSpiritsServiceReturnEmpty_ReturnEmpty()
        {
            //Arrange
            const int teamId  = 10;
            Team      team    = Team.Create(1, "1234", "1234", new List <TeamMember>());
            var       sprints = new List <Sprint>
            {
                Sprint.Create(1, 1, team, "Sprint1", 14, 4, PossibleStatuses.ActiveStatus),

                Sprint.Create(2, 1, team, "Sprint2", 16, 4, PossibleStatuses.CompletedStatus),

                Sprint.Create(3, 1, team, "Sprint3", 21, 2, PossibleStatuses.CompletedStatus),

                Sprint.Create(4, 1, team, "Sprint4", 10, 3, PossibleStatuses.CompletedStatus),

                Sprint.Create(5, 1, team, "Sprint5", 27, 5, PossibleStatuses.CompletedStatus),
            };

            var mock = sprints.AsQueryable().BuildMock();

            _sprintRepository.Setup(x => x.GetAllAsync()).
            Returns(System.Threading.Tasks.Task.FromResult(sprints.AsEnumerable()));

            //Act
            var result = new List <Sprint>(await _manageSprintsService.GetAllSprintsAsync(teamId, new DisplayOptions {
            }));

            //Assert
            Assert.IsEmpty(result);
        }
        public async System.Threading.Tasks.Task AddSprintsAsync_ManageSpiritsServiceNameCheckReturns_True()
        {
            //Arrange
            Team team    = Team.Create(1, "1234", "1234", new List <TeamMember>());
            var  sprint1 = Sprint.Create(1, 1, team, "Sprint1", 14, 4, PossibleStatuses.CompletedStatus);
            var  sprint2 = Sprint.Create(1, 1, team, "Sprint 2", 14, 4, PossibleStatuses.CompletedStatus);
            var  sprint3 = Sprint.Create(1, 1, team, "Sprint-3", 14, 4, PossibleStatuses.ActiveStatus);
            var  sprint4 = Sprint.Create(1, 1, team, "Sprint_4", 14, 4, PossibleStatuses.ActiveStatus);

            _sprintRepository.Setup(x => x.InsertAsync(It.IsAny <Sprint>())).ReturnsAsync(true);

            //Act
            var result1 = await _manageSprintsService.AddSprintAsync(sprint1);

            var result2 = await _manageSprintsService.AddSprintAsync(sprint2);

            var result3 = await _manageSprintsService.AddSprintAsync(sprint3);

            var result4 = await _manageSprintsService.AddSprintAsync(sprint4);

            //Assert
            Assert.IsTrue(result1);
            Assert.IsTrue(result2);
            Assert.IsTrue(result3);
            Assert.IsTrue(result4);
        }
Exemple #4
0
 private void DrawCreateButton()
 {
     if (GUILayout.Button(Environment.NewLine + "Create" + Environment.NewLine))
     {
         newSprint.Create();
         UScrum.RefreshSprintList();
         BoardWindow.ShowFocus(newSprint);
         Close();
     }
 }
        public async System.Threading.Tasks.Task UpdateAsync_MemberWorkingDaysRepositoryReturnsFalse_ReturnsFalse()
        {
            //Arrange
            Sprint            sprint            = Sprint.Create(1, new List <Task>());
            MemberWorkingDays memberWorkingDays = MemberWorkingDays.Create(1, 1, sprint, 2);

            //Act
            var result = await _memberWorkingDaysRepository.UpdateAsync(memberWorkingDays);

            //Assert
            Assert.IsFalse(result);
        }
        public async System.Threading.Tasks.Task InsertAsync_MemberWorkingDaysRepositoryReturnsTrue_ReturnsTrue()
        {
            //Arrange
            Sprint            sprint            = Sprint.Create(2, new List <Task>());
            MemberWorkingDays memberWorkingDays = MemberWorkingDays.Create(1, 2, sprint, 21);

            //Act
            var result = await _memberWorkingDaysRepository.InsertAsync(memberWorkingDays);

            //Assert
            Assert.IsTrue(result);
        }
        public async System.Threading.Tasks.Task UpdateAsync_SprintRepositoryReturns_False()
        {
            //Arrange
            Team   team   = Team.Create(1, "1234", "1234", new List <TeamMember>());
            Sprint sprint = Sprint.Create(10, 6, team, "Sprint5", 3, 4, PossibleStatuses.CompletedStatus);

            //Act
            var result = await _sprintRepository.UpdateAsync(sprint);

            //Assert
            Assert.IsFalse(result);
        }
        public async System.Threading.Tasks.Task AddMemberWorkingDaysAsync_ManageMemberWorkingDaysServiceReturnsFalse_ReturnsFalse()
        {
            //Arrange
            Sprint sprint            = Sprint.Create(1, new List <Task>());
            var    memberWorkingDays = MemberWorkingDays.Create(1, 1, 1, sprint, -4);

            _memberWorkingDaysRepository.Setup(x => x.InsertAsync(It.IsAny <MemberWorkingDays>())).ReturnsAsync(true);

            //Act
            var result = await _manageMemberWorkingDaysService.AddMemberWorkingDaysAsync(memberWorkingDays);

            //Assert
            Assert.IsFalse(result);
        }
Exemple #9
0
        public async Task <IActionResult> AddSprintAsync(SprintViewModel sprintViewModel)
        {
            if (ModelState.IsValid)
            {
                sprintViewModel.Status = PossibleStatuses.CreatedStatus;
                var sprints = await _manageSprintsService.GetAllSprintsAsync(sprintViewModel.TeamId, new DisplayOptions());

                var activeSprint = sprints.FirstOrDefault(i => i.Status == PossibleStatuses.ActiveStatus);

                if (activeSprint != null && sprintViewModel.Status == PossibleStatuses.ActiveStatus)
                {
                    return(RedirectToAction("AddSprint", new { teamId = sprintViewModel.TeamId, errorMessage = _localizer["ActiveFieldError"] }));
                }

                var createdSprint = sprints.FirstOrDefault(i => i.Status == PossibleStatuses.CreatedStatus);

                if (createdSprint != null && sprintViewModel.Status == PossibleStatuses.CreatedStatus)
                {
                    return(RedirectToAction("AddSprint", new { teamId = sprintViewModel.TeamId, errorMessage = _localizer["СreatedSprintExist"] }));
                }

                var sameSprint = sprints.FirstOrDefault(i => i.Name == sprintViewModel.Name);

                if (sameSprint != null)
                {
                    return(RedirectToAction("AddSprint", new { teamId = sprintViewModel.TeamId, errorMessage = _localizer["SprintWithSameName"] }));
                }

                var newSprint = Sprint.Create(sprintViewModel.TeamId, sprintViewModel.Name,
                                              sprintViewModel.DaysInSprint,
                                              sprintViewModel.StoryPointInHours,
                                              sprintViewModel.Status);
                var result = await AddSprintAsync(newSprint);

                if (result && sprintViewModel.SelectTasksIds != null &&
                    await UpdateTasks(sprintViewModel.SelectTasksIds, newSprint.Id))
                {
                    return(RedirectToAction("AllSprints", new { teamId = sprintViewModel.TeamId }));
                }
                else
                {
                    return(RedirectToAction("NotOwnerError", new { teamId = sprintViewModel.TeamId }));
                }
            }
            else
            {
                return(View(sprintViewModel));
            }
        }
        public async System.Threading.Tasks.Task UpdateAsync_SprintRepositoryReturns_True()
        {
            //Arrange
            Team   team   = Team.Create(1, "1234", "1234", new List <TeamMember>());
            Sprint sprint = Sprint.Create(2, 5, team, "Update", 3, 4, PossibleStatuses.CompletedStatus);

            _context.Sprint.AddRange(GetFakeSprintDb());
            _context.SaveChanges();

            //Act
            var result = await _sprintRepository.UpdateAsync(sprint);

            //Assert
            Assert.IsTrue(result);
        }
        public async System.Threading.Tasks.Task EditSprintsAsync_ManageSpiritsServiceNameCheckReturns_True(string SprintName)
        {
            //Arrange
            Team team   = Team.Create(1, "1234", "1234", new List <TeamMember>());
            var  sprint = Sprint.Create(1, 1, team, SprintName, 14, 4, PossibleStatuses.ActiveStatus);

            _sprintRepository.Setup(x => x.UpdateAsync(It.IsAny <Sprint>())).ReturnsAsync(true);
            _sprintRepository.Setup(x => x.GetByIdAsync(It.IsAny <int>())).ReturnsAsync(sprint);

            //Act
            var result = await _manageSprintsService.EditSprintAsync(sprint);

            //Assert
            Assert.IsTrue(result);
        }
        public async System.Threading.Tasks.Task EditMemberWorkingDaysAsync_ManageMemberWorkingDaysServiceReturnsTrue_ReturnsTrue()
        {
            //Arrange
            Sprint sprint            = Sprint.Create(1, new List <Task>());
            var    memberWorkingDays = MemberWorkingDays.Create(1, 1, 1, sprint, 10);

            _memberWorkingDaysRepository.Setup(x => x.UpdateAsync(It.IsAny <MemberWorkingDays>())).ReturnsAsync(true);
            _memberWorkingDaysRepository.Setup(x => x.GetByIdAsync(It.IsAny <int>())).ReturnsAsync(memberWorkingDays);

            //Act
            var result = await _manageMemberWorkingDaysService.EditMemberWorkingDaysAsync(memberWorkingDays);

            //Assert
            Assert.IsTrue(result);
        }
        public async System.Threading.Tasks.Task GetSprintAsync_ManageSpiritsServiceReturnsSprintWithId1_ReturnsSprintWithId1()
        {
            //Arrange
            const int sprintId = 1;
            Team      team     = Team.Create(1, "1234", "1234", new List <TeamMember>());
            var       sprint   = Sprint.Create(1, 1, team, "Sprint1", 14, 4, PossibleStatuses.ActiveStatus);

            _sprintRepository.Setup(x => x.GetByIdAsync(It.IsAny <int>())).ReturnsAsync(sprint);

            //Act
            var result = await _manageSprintsService.GetSprintAsync(sprintId, false);

            //Assert
            Assert.AreEqual(1, result.Id);
        }
        public async System.Threading.Tasks.Task UpdateAsync_MemberWorkingDaysRepositoryReturnsTrue_ReturnsTrue()
        {
            //Arrange
            Sprint            sprint            = Sprint.Create(1, new List <Task>());
            MemberWorkingDays memberWorkingDays = MemberWorkingDays.Create(1, 1, 1, sprint, 2);

            _context.MemberWorkingDays.AddRange(GetFakeMemberWorkingDaysDb());
            _context.SaveChanges();

            //Act
            var result = await _memberWorkingDaysRepository.UpdateAsync(memberWorkingDays);

            //Assert
            Assert.IsTrue(result);
        }
Exemple #15
0
        private IEnumerable <Sprint> getFakeDbSprints()
        {
            var team = Team.Create(1, "1", "1234", new List <TeamMember>());

            var tasks = new List <Task>()
            {
                Task.Create(1, 1, Team.Create(1, "1", "1234", new List <TeamMember>()), "Task1", 3, "link1", 1, 1, true),
                Task.Create(1, 1, Team.Create(1, "2", "1234", new List <TeamMember>()), "Task2", 1, "link1", 1, 1, false),
                Task.Create(1, 1, Team.Create(1, "2", "1234", new List <TeamMember>()), "Task3", 4, "link1", 1, 1, true),
            };

            var sprints = new List <Sprint>
            {
                Sprint.Create(1, 1, team, "Sprint1", 14, 4, PossibleStatuses.ActiveStatus, tasks),

                Sprint.Create(2, 1, team, "Sprint2", 16, 4, PossibleStatuses.CompletedStatus, new List <Task>()),
            };

            return(sprints);
        }
        public async System.Threading.Tasks.Task GetTaskByIdAsync_ManageMemberWorkingDaysServiceReturnsId1_ReturnsId1()
        {
            //Arrange
            const int memberWorkingDaysId = 1;
            Sprint    sprint            = Sprint.Create(1, new List <Task>());
            var       memberWorkingDays = new List <MemberWorkingDays>()
            {
                MemberWorkingDays.Create(1, 1, 1, sprint, 21)
            };
            var mock = memberWorkingDays.AsQueryable().BuildMock();

            _memberWorkingDaysRepository.Setup(x => x.GetAllAsync())
            .Returns(System.Threading.Tasks.Task.FromResult(memberWorkingDays.AsEnumerable()));

            //Act
            var result = await _manageMemberWorkingDaysService.GetWorkingDaysByIdAsync(memberWorkingDaysId);

            //Assert
            Assert.AreEqual(memberWorkingDaysId, result.Id);
        }
        public async System.Threading.Tasks.Task DeleteAsync_MemberWorkingDaysRepositoryReturnsTrue_ReturnsTrue()
        {
            //Arrange
            Sprint sprint = Sprint.Create(2, new List <Task>());

            Models.MemberWorkingDays memberWorkingDays = new Models.MemberWorkingDays
            {
                Id          = 4,
                SprintId    = 2,
                MemberId    = 1,
                WorkingDays = 21
            };
            _context.MemberWorkingDays.Add(memberWorkingDays);
            _context.SaveChanges();

            //Act
            var result = await _memberWorkingDaysRepository.DeleteAsync(memberWorkingDays.Id);

            //Assert
            Assert.IsTrue(result);
        }
Exemple #18
0
        public async Task <IActionResult> AddSprintAsync(int teamId, string errorMessage)
        {
            var team = await _manageSprintsService.GetTeam(teamId);

            ViewBag.ErrorMessage = errorMessage;

            var tasks = (await _manageTasksService.GetAllTasksForTeamAsync(teamId, new DisplayOptions()))
                        .Where(task => task.SprintId == null && task.Completed == false);

            var sprint = Sprint.Create(teamId, tasks.ToList());

            var isOwner = false;

            if (await _accessCheckService.IsOwnerAsync(teamId))
            {
                isOwner = true;
            }

            var sprintViewModel = SprintViewModel.Create(sprint, isOwner, 0);

            return(View(sprintViewModel));
        }
        public async System.Threading.Tasks.Task GetStoryPointsInDayForMember_TestsValue(int sprintId,
                                                                                         int teamMemberId,
                                                                                         int teamMemberTotalSp,
                                                                                         double excepted)
        {
            //Arrange
            var team   = Team.Create(1, "1", "1234", new List <TeamMember>());
            var sprint = Sprint.Create(1, 1, team, "Sprint1", 14, 4, PossibleStatuses.ActiveStatus);

            var memberWorkingDays = new List <MemberWorkingDays>()
            {
                MemberWorkingDays.Create(1, 1, 1, sprint, 7),
            };

            _memberWorkingDaysRepository.Setup(x => x.GetAllAsync())
            .Returns(System.Threading.Tasks.Task.FromResult(memberWorkingDays.AsEnumerable()));

            //Act
            var result = await _manageMemberWorkingDaysService.GetStoryPointsInDayForMember(sprintId, teamMemberId, teamMemberTotalSp);

            //Assert
            Assert.AreEqual(excepted, System.Math.Round(result, 2));
        }
        public async System.Threading.Tasks.Task EditSprintsAsync_ManageSpiritsServiceReturns_False()
        {
            //Arrange
            Team team    = Team.Create(1, "1234", "1234", new List <TeamMember>());
            var  sprint1 = Sprint.Create(1, 1, team, "Spr  int", 14, 4, PossibleStatuses.ActiveStatus);
            var  sprint2 = Sprint.Create(1, 1, team, "Sprint", -14, 4, PossibleStatuses.ActiveStatus);
            var  sprint3 = Sprint.Create(1, 1, team, "Sprint", 14, -4, PossibleStatuses.ActiveStatus);

            _sprintRepository.Setup(x => x.UpdateAsync(It.IsAny <Sprint>())).ReturnsAsync(true);
            _sprintRepository.Setup(x => x.GetByIdAsync(It.IsAny <int>())).ReturnsAsync(sprint2);

            //Act
            var result1 = await _manageSprintsService.EditSprintAsync(sprint1); //Incorrect name

            var result2 = await _manageSprintsService.EditSprintAsync(sprint2); //Incorrect days count

            var result3 = await _manageSprintsService.EditSprintAsync(sprint3); //Incorrect SP count

            //Assert
            Assert.IsFalse(result1);
            Assert.IsFalse(result2);
            Assert.IsFalse(result3);
        }
Exemple #21
0
        public async Task <IActionResult> EditSprintAsync(EditSprintViewModel editSprintViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(editSprintViewModel));
            }

            var sprints = await _manageSprintsService.GetAllSprintsAsync(editSprintViewModel.TeamId, new DisplayOptions());

            var currentSprint = sprints.FirstOrDefault(i => i.Id == editSprintViewModel.SprintId);

            if (currentSprint.Name == editSprintViewModel.SprintName &&
                currentSprint.DaysInSprint == editSprintViewModel.SprintDaysInSprint &&
                currentSprint.StoryPointInHours == editSprintViewModel.SprintStorePointInHours &&
                currentSprint.Status == editSprintViewModel.Status)
            {
                return(RedirectToAction("EditSprint", new
                {
                    teamId = editSprintViewModel.TeamId,
                    sprintId = editSprintViewModel.SprintId,
                    errorMessage = _localizer["HasntAnyChange"]
                }));
            }

            var createdSprint = sprints.FirstOrDefault(i => i.Status == PossibleStatuses.CreatedStatus);

            if (IsStatusCanBeChanged(currentSprint.Status, editSprintViewModel.Status))
            {
                var activeSprint = sprints.FirstOrDefault(i => i.Status == PossibleStatuses.ActiveStatus);

                if (activeSprint != null &&
                    editSprintViewModel.Status == PossibleStatuses.ActiveStatus &&
                    activeSprint.Id != currentSprint.Id)
                {
                    return(RedirectToAction("EditSprint", new
                    {
                        teamId = editSprintViewModel.TeamId,
                        sprintId = editSprintViewModel.SprintId,
                        errorMessage = _localizer["ActiveFieldError"]
                    }));
                }

                var newSprint = Sprint.Create(editSprintViewModel.SprintId,
                                              editSprintViewModel.TeamId,
                                              Team.Create(currentSprint.Team.TeamOwner, currentSprint.Team.TeamName),
                                              editSprintViewModel.SprintName,
                                              editSprintViewModel.SprintDaysInSprint,
                                              editSprintViewModel.SprintStorePointInHours,
                                              editSprintViewModel.Status);

                if (await EditSprintAsync(newSprint))
                {
                    return(RedirectToAction("AllSprints", new { teamId = editSprintViewModel.TeamId }));
                }
                else
                {
                    return(RedirectToAction("NotOwnerError", new { teamId = editSprintViewModel.TeamId }));
                }
            }
            return(RedirectToAction("EditSprint", new
            {
                teamId = editSprintViewModel.TeamId,
                sprintId = editSprintViewModel.SprintId,
                errorMessage = _localizer["CantChangeStatus"]
            }));
        }