Example #1
0
        public void ReturnCorrectMessage_WhenCorrectParametrsArePassed()
        {
            //Arrange
            this.gettersMock.Setup(x => x.GetBoard(validTeamName, validBoardName)).Returns(boardMock.Object);
            this.gettersMock.Setup(x => x.GetAssignableWorkItem(boardMock.Object, this.validWorkItemTitle)).Returns(this.workItemMock.Object);
            this.gettersMock.Setup(x => x.GetPerson(this.validPersonName)).Returns(this.personMock.Object);

            this.personMock.SetupGet(x => x.PersonName).Returns(this.validPersonName);
            this.personMock.SetupGet(x => x.IsAssignedToTeam).Returns(true);
            this.personMock.SetupGet(x => x.MemberWorkItems).Returns(new List <IWorkItem>());

            this.workItemMock.SetupGet(x => x.Title).Returns(validWorkItemTitle);

            var sut        = new AssignWorkItemToMemberCommand(this.historyEventWriterMock.Object, this.gettersMock.Object);
            var parameters = new List <string>()
            {
                this.validTeamName,
                this.validBoardName,
                this.validWorkItemTitle,
                this.validPersonName,
            };

            var expectedReturn = string.Format(CommandsConsts.WorkItemAssigned, validWorkItemTitle, validPersonName);

            //Act
            var actualReturn = sut.Execute(parameters);

            //Assert
            Assert.AreEqual(expectedReturn, actualReturn);
        }
Example #2
0
        public void ThrowArgumentException_WhenPersonIsNotAssignedToTeam()
        {
            //Arrange

            this.gettersMock.Setup(x => x.GetBoard(validTeamName, validBoardName)).Returns(boardMock.Object);
            this.gettersMock.Setup(x => x.GetAssignableWorkItem(It.IsAny <IBoard>(), this.validWorkItemTitle)).Returns(this.workItemMock.Object);
            this.gettersMock.Setup(x => x.GetPerson(this.validPersonName)).Returns(this.personMock.Object);

            this.personMock.SetupGet(x => x.PersonName).Returns(this.validPersonName);
            this.personMock.SetupGet(x => x.IsAssignedToTeam).Returns(false);
            this.personMock.SetupGet(x => x.MemberWorkItems).Returns(new List <IWorkItem>());

            var sut        = new AssignWorkItemToMemberCommand(this.historyEventWriterMock.Object, this.gettersMock.Object);
            var parameters = new List <string>()
            {
                this.validTeamName,
                this.validBoardName,
                this.validWorkItemTitle,
                this.validPersonName,
            };
            string expectedExceptionMessage = string.Format(CommandsConsts.NotMemberOfAnyTeam, validPersonName);

            //Act, Assert
            Assert.AreEqual(
                expectedExceptionMessage,
                Assert.ThrowsException <ArgumentException>(() => sut.Execute(parameters)).Message
                );
        }
Example #3
0
        public void AddWorkItemToMember_WhenCorrectParametrsArePassed()
        {
            //Arrange
            this.gettersMock.Setup(x => x.GetBoard(validTeamName, validBoardName)).Returns(boardMock.Object);
            this.gettersMock.Setup(x => x.GetAssignableWorkItem(boardMock.Object, this.validWorkItemTitle)).Returns(this.workItemMock.Object);
            this.gettersMock.Setup(x => x.GetPerson(this.validPersonName)).Returns(this.personMock.Object);

            this.personMock.SetupGet(x => x.PersonName).Returns(this.validPersonName);
            this.personMock.SetupGet(x => x.IsAssignedToTeam).Returns(true);
            this.personMock.SetupGet(x => x.MemberWorkItems).Returns(new List <IWorkItem>());

            this.workItemMock.SetupGet(x => x.Title).Returns(validWorkItemTitle);

            var sut        = new AssignWorkItemToMemberCommand(this.historyEventWriterMock.Object, this.gettersMock.Object);
            var parameters = new List <string>()
            {
                this.validTeamName,
                this.validBoardName,
                this.validWorkItemTitle,
                this.validPersonName,
            };

            //Act
            sut.Execute(parameters);

            //Assert
            Assert.AreEqual(workItemMock.Object, personMock.Object.MemberWorkItems.Single());
        }
Example #4
0
        public void ExecuteAllFiveMethodsOnce_WhenValidParametersArePassed()
        {
            //Arrange
            this.gettersMock.Setup(x => x.GetBoard(validTeamName, validBoardName)).Returns(boardMock.Object);
            this.gettersMock.Setup(x => x.GetAssignableWorkItem(boardMock.Object, this.validWorkItemTitle)).Returns(this.workItemMock.Object);
            this.gettersMock.Setup(x => x.GetPerson(this.validPersonName)).Returns(this.personMock.Object);

            this.personMock.SetupGet(x => x.PersonName).Returns(this.validPersonName);
            this.personMock.SetupGet(x => x.IsAssignedToTeam).Returns(true);
            this.personMock.SetupGet(x => x.MemberWorkItems).Returns(new List <IWorkItem>());

            var sut        = new AssignWorkItemToMemberCommand(this.historyEventWriterMock.Object, this.gettersMock.Object);
            var parameters = new List <string>()
            {
                this.validTeamName,
                this.validBoardName,
                this.validWorkItemTitle,
                this.validPersonName,
            };

            //Act
            var returnMessage = sut.Execute(parameters);

            //Assert
            this.gettersMock.Verify(x => x.GetBoard(this.validTeamName, this.validBoardName), Times.Once);
            this.gettersMock.Verify(x => x.GetPerson(this.validPersonName), Times.Once);
            this.gettersMock.Verify(x => x.GetAssignableWorkItem(boardMock.Object, this.validWorkItemTitle), Times.Once);
            this.workItemMock.Verify(x => x.AssignMember(this.personMock.Object), Times.Once);
            this.historyEventWriterMock.
            Verify(x => x.AddHistoryEvent(
                       returnMessage,
                       personMock.Object,
                       It.IsAny <IBoard>(),
                       It.IsAny <ITeam>(),
                       workItemMock.Object
                       ), Times.Once);
        }