public void AddRemoveCommentTest() { var account = this.CreateAccount(); var team = CreateSampleTeam(); var creatorMember = AddSampleMemberToTeam(account, team); var task = new Task(creatorMember, team); var memberName = RandomString(); var memberEmail = RandomEmailString(); var member = this._teamService.AddFullMember(memberName, memberEmail, team); var comment1 = RandomString(); var comment2 = RandomString(); task.AddComment(member, comment1); task.AddComment(member, comment2); this._teamTaskService.Create(task); this.Evict(task); task = this._teamTaskService.GetTask(task.ID); Assert.AreEqual(2, task.Comments.Count()); Assert.IsTrue(task.Comments.Any(x => x.Body == comment1)); Assert.IsTrue(task.Comments.Any(x => x.Body == comment2)); task.RemoveComment(task.Comments.Single(x => x.Body == comment1)); this._teamTaskService.Update(task); this.Evict(task); task = this._teamTaskService.GetTask(task.ID); Assert.AreEqual(1, task.Comments.Count()); Assert.IsTrue(task.Comments.Any(x => x.Body == comment2)); task.RemoveComment(task.Comments.First()); this._teamTaskService.Update(task); this.Evict(task); task = this._teamTaskService.GetTask(task.ID); Assert.AreEqual(0, task.Comments.Count()); }
public void ClearCommentCreatorsAfterTeamMemberRemovedTest() { var account = CreateAccount(); var team = CreateSampleTeam(); var creatorMember = AddSampleMemberToTeam(account, team); var member = AddSampleMemberToTeam(team); var task = new Task(creatorMember, team); var comment = RandomString(); task.AddComment(member, comment); this._teamTaskService.Create(task); this.Evict(member); this.Evict(team); this.Evict(task); this.Evict(comment); team = _teamService.GetTeam(team.ID); member = team.GetMember(member.ID); task = this._teamTaskService.GetTask(task.ID); Assert.IsNotNull(task); Assert.AreEqual(1, task.Comments.Count()); Assert.IsTrue(task.Comments.Any(x => x.Body == comment && x.Creator.ID == member.ID)); this._teamService.RemoveMember(member, team); this.Evict(task); this.Evict(comment); task = this._teamTaskService.GetTask(task.ID); Assert.IsNotNull(task); Assert.AreEqual(1, task.Comments.Count()); Assert.IsTrue(task.Comments.Any(x => x.Body == comment && x.Creator == null)); }
public void GetTasksByKeyTest() { var account = CreateAccount(); var team = CreateSampleTeam(); var member = AddSampleMemberToTeam(account, team); var teamTask1 = new Task(member, team); teamTask1.SetSubject(".NET 4.5 researching"); teamTask1.SetBody("Research what is new in .NET 4.5, and is there any problems to upgrade to .NET4.5"); teamTask1.MarkAsInCompleted(); var teamTask2 = new Task(member, team); teamTask2.SetSubject("Compare .NET and Java platform."); teamTask2.SetBody("Compare the most important differences between .NET and java platform."); teamTask2.MarkAsInCompleted(); var teamTask3 = new Task(member, team); teamTask3.SetSubject("A sample task to test GetTasksByKey interface."); teamTask3.AddComment(member, ".net"); teamTask3.AddComment(member, ".net"); teamTask3.AddComment(member, "java"); teamTask3.AddComment(member, "other"); teamTask3.MarkAsCompleted(); this._teamTaskService.Create(teamTask1); this._teamTaskService.Create(teamTask2); this._teamTaskService.Create(teamTask3); var tasks = this._teamTaskService.GetTasksByKey(team, ".NET"); var incompletedTasks = this._teamTaskService.GetIncompletedTasksByKey(team, ".NET"); Assert.AreEqual(3, tasks.Count()); Assert.IsTrue(tasks.Any(x => x.ID == teamTask1.ID)); Assert.IsTrue(tasks.Any(x => x.ID == teamTask2.ID)); Assert.IsTrue(tasks.Any(x => x.ID == teamTask3.ID)); Assert.AreEqual(2, incompletedTasks.Count()); Assert.IsTrue(incompletedTasks.Any(x => x.ID == teamTask1.ID)); Assert.IsTrue(incompletedTasks.Any(x => x.ID == teamTask2.ID)); tasks = this._teamTaskService.GetTasksByKey(team, "JAVA"); incompletedTasks = this._teamTaskService.GetIncompletedTasksByKey(team, "JAVA"); Assert.AreEqual(2, tasks.Count()); Assert.IsTrue(tasks.Any(x => x.ID == teamTask2.ID)); Assert.IsTrue(tasks.Any(x => x.ID == teamTask3.ID)); Assert.AreEqual(1, incompletedTasks.Count()); Assert.IsTrue(incompletedTasks.Any(x => x.ID == teamTask2.ID)); tasks = this._teamTaskService.GetTasksByKey(team, "OTHER"); incompletedTasks = this._teamTaskService.GetIncompletedTasksByKey(team, "OTHER"); Assert.AreEqual(1, tasks.Count()); Assert.IsTrue(tasks.Any(x => x.ID == teamTask3.ID)); Assert.AreEqual(0, incompletedTasks.Count()); tasks = this._teamTaskService.GetTasksByKey(team, "Not Exist Key"); incompletedTasks = this._teamTaskService.GetIncompletedTasksByKey(team, "Not Exist Key"); Assert.AreEqual(0, tasks.Count()); Assert.AreEqual(0, incompletedTasks.Count()); tasks = this._teamTaskService.GetTasksByKey(team, null); incompletedTasks = this._teamTaskService.GetIncompletedTasksByKey(team, null); Assert.AreEqual(0, tasks.Count()); Assert.AreEqual(0, incompletedTasks.Count()); tasks = this._teamTaskService.GetTasksByKey(team, string.Empty); incompletedTasks = this._teamTaskService.GetIncompletedTasksByKey(team, string.Empty); Assert.AreEqual(0, tasks.Count()); Assert.AreEqual(0, incompletedTasks.Count()); tasks = this._teamTaskService.GetTasksByKey(team, " "); incompletedTasks = this._teamTaskService.GetIncompletedTasksByKey(team, " "); Assert.AreEqual(0, tasks.Count()); Assert.AreEqual(0, incompletedTasks.Count()); }