public void ReconnectTeam_TeamNameAndMemberNameAndEstimationStarted_AllMembersAreEstimationParticipants() { // Arrange var team = CreateBasicTeam(); var member = (D.Member)team.Join(MemberName, false); team.ScrumMaster.StartEstimation(); var teamLock = CreateTeamLock(team); var planningPoker = new Mock <D.IPlanningPoker>(MockBehavior.Strict); planningPoker.Setup(p => p.GetScrumTeam(TeamName)).Returns(teamLock.Object).Verifiable(); var target = new PlanningPokerService(planningPoker.Object); // Act var result = target.ReconnectTeam(TeamName, MemberName).Value; // Verify planningPoker.Verify(); teamLock.Verify(); teamLock.Verify(l => l.Team); Assert.IsNotNull(result); Assert.IsNotNull(result.ScrumTeam); Assert.IsNotNull(result.ScrumTeam.EstimationParticipants); var expectedParticipants = new string[] { ScrumMasterName, MemberName }; CollectionAssert.AreEqual(expectedParticipants, result.ScrumTeam.EstimationParticipants.Select(p => p.MemberName).ToList()); }
public void ReconnectTeam_TeamNameAndMemberNameAndMemberNotEstimated_NoSelectedEstimation() { // Arrange var team = CreateBasicTeam(); var member = (D.Member)team.Join(MemberName, false); team.ScrumMaster.StartEstimation(); var teamLock = CreateTeamLock(team); var planningPoker = new Mock <D.IPlanningPoker>(MockBehavior.Strict); planningPoker.Setup(p => p.GetScrumTeam(TeamName)).Returns(teamLock.Object).Verifiable(); var target = new PlanningPokerService(planningPoker.Object); // Act var result = target.ReconnectTeam(TeamName, MemberName).Value; // Verify planningPoker.Verify(); teamLock.Verify(); teamLock.Verify(l => l.Team); Assert.IsNotNull(result); Assert.IsNull(result.SelectedEstimation); }
public void ReconnectTeam_TeamNameAndMemberNameAndEstimationFinished_EstimationResultIsSet() { // Arrange var team = CreateBasicTeam(); var member = (D.Member)team.Join(MemberName, false); team.ScrumMaster.StartEstimation(); member.Estimation = new D.Estimation(1); team.ScrumMaster.Estimation = new D.Estimation(2); var teamLock = CreateTeamLock(team); var planningPoker = new Mock <D.IPlanningPoker>(MockBehavior.Strict); planningPoker.Setup(p => p.GetScrumTeam(TeamName)).Returns(teamLock.Object).Verifiable(); var target = new PlanningPokerService(planningPoker.Object); // Act var result = target.ReconnectTeam(TeamName, MemberName).Value; // Verify planningPoker.Verify(); teamLock.Verify(); teamLock.Verify(l => l.Team); Assert.IsNotNull(result); Assert.IsNotNull(result.ScrumTeam); Assert.IsNotNull(result.ScrumTeam.EstimationResult); var expectedEstimations = new double?[] { 2, 1 }; CollectionAssert.AreEquivalent(expectedEstimations, result.ScrumTeam.EstimationResult.Select(e => e.Estimation.Value).ToList()); }
public void ReconnectTeam_TeamNameAndMemberNameWithMessages_ReturnsLastMessageId() { // Arrange var team = CreateBasicTeam(); var member = team.Join(MemberName, false); team.ScrumMaster.StartEstimation(); var teamLock = CreateTeamLock(team); var planningPoker = new Mock <D.IPlanningPoker>(MockBehavior.Strict); planningPoker.Setup(p => p.GetScrumTeam(TeamName)).Returns(teamLock.Object).Verifiable(); var target = new PlanningPokerService(planningPoker.Object); // Act var result = target.ReconnectTeam(TeamName, MemberName).Value; // Verify planningPoker.Verify(); teamLock.Verify(); teamLock.Verify(l => l.Team); Assert.IsNotNull(result); Assert.IsNotNull(result.ScrumTeam); Assert.AreEqual <long>(1, result.LastMessageId); Assert.IsFalse(member.HasMessage); }
public void ReconnectTeam_TeamNameAndMemberName_ReturnsReconnectedTeam() { // Arrange var team = CreateBasicTeam(); var member = team.Join(MemberName, false); var teamLock = CreateTeamLock(team); var planningPoker = new Mock <D.IPlanningPoker>(MockBehavior.Strict); planningPoker.Setup(p => p.GetScrumTeam(TeamName)).Returns(teamLock.Object).Verifiable(); var target = new PlanningPokerService(planningPoker.Object); // Act var result = target.ReconnectTeam(TeamName, MemberName).Value; // Verify planningPoker.Verify(); teamLock.Verify(); teamLock.Verify(l => l.Team); Assert.IsNotNull(result); Assert.IsNotNull(result.ScrumTeam); Assert.AreEqual <long>(0, result.LastMessageId); Assert.AreEqual <string>(TeamName, result.ScrumTeam.Name); Assert.IsNotNull(result.ScrumTeam.ScrumMaster); Assert.AreEqual <string>(ScrumMasterName, result.ScrumTeam.ScrumMaster.Name); Assert.IsNotNull(result.ScrumTeam.Members); var expectedMembers = new string[] { ScrumMasterName, MemberName }; CollectionAssert.AreEquivalent(expectedMembers, result.ScrumTeam.Members.Select(m => m.Name).ToList()); var expectedMemberTypes = new string[] { typeof(D.ScrumMaster).Name, typeof(D.Member).Name }; CollectionAssert.AreEquivalent(expectedMemberTypes, result.ScrumTeam.Members.Select(m => m.Type).ToList()); }
public void ReconnectTeam_MemberNameTooLong_ArgumentException() { // Arrange var planningPoker = new Mock <D.IPlanningPoker>(MockBehavior.Strict); var target = new PlanningPokerService(planningPoker.Object); // Act target.ReconnectTeam(TeamName, LongMemberName); }
public void ReconnectTeam_TeamNameIsEmpty_ArgumentNullException() { // Arrange var planningPoker = new Mock <D.IPlanningPoker>(MockBehavior.Strict); var target = new PlanningPokerService(planningPoker.Object); // Act target.ReconnectTeam(null, MemberName); }
public void ReconnectTeam_TeamNameAndNonExistingMemberName_ArgumentException() { // Arrange var team = CreateBasicTeam(); var teamLock = CreateTeamLock(team); var planningPoker = new Mock <D.IPlanningPoker>(MockBehavior.Strict); planningPoker.Setup(p => p.GetScrumTeam(TeamName)).Returns(teamLock.Object).Verifiable(); var target = new PlanningPokerService(planningPoker.Object); // Act var result = target.ReconnectTeam(TeamName, MemberName); // Verify Assert.IsInstanceOfType(result.Result, typeof(BadRequestObjectResult)); }