Esempio n. 1
0
        public void ExecuteAllFourMethodsOnce_WhenValidParametersArePassed()
        {
            //Arrange

            this.gettersMock.Setup(x => x.GetBoard(this.validTeamName, this.validBoardName)).Returns(this.boardMock.Object);

            this.componentsFactoryMock.Setup(x => x.CreateBug(this.validTitle, this.validDescription, this.validSteps, this.validPriority, this.validSeverity, this.boardMock.Object, null)).Returns(this.bugMock.Object);

            var sut        = new CreateBugCommand(this.historyEventWriterMock.Object, this.componentsFactoryMock.Object, this.gettersMock.Object);
            var parameters = new List <string>()
            {
                this.validTitle,
                this.validDescription,
                string.Join(",", this.validSteps),
                this.validPriority.ToString(),
                this.validSeverity.ToString(),
                this.validTeamName,
                this.validBoardName
            };

            //Act
            sut.Execute(parameters);

            //Assert
            this.gettersMock.Verify(x => x.GetBoard(this.validTeamName, this.validBoardName), Times.Once);
            this.componentsFactoryMock.Verify(x => x.CreateBug(this.validTitle, this.validDescription, this.validSteps, this.validPriority, this.validSeverity, this.boardMock.Object, null), Times.Once);
            this.boardMock.Verify(x => x.AddWorkItemToBoard(this.bugMock.Object), Times.Once);
            this.historyEventWriterMock.Verify(x => x.AddHistoryEvent(It.IsAny <string>(), null, this.boardMock.Object, It.IsAny <ITeam>(), this.bugMock.Object), Times.Once);
        }
Esempio n. 2
0
        public void ReturnCorrectMessage_WhenCorrectParametrsArePassed()
        {
            //Arrange

            gettersMock.Setup(x => x.GetBoard(validTeamName, validBoardName)).Returns(boardMock.Object);

            componentsFactoryMock.Setup(x => x.CreateBug(validTitle, validDescription, validSteps, validPriority, validSeverity, boardMock.Object, null)).Returns(bugMock.Object);

            var sut        = new CreateBugCommand(historyEventWriterMock.Object, componentsFactoryMock.Object, gettersMock.Object);
            var parameters = new List <string>()
            {
                validTitle,
                validDescription,
                string.Join(",", validSteps),
                validPriority.ToString(),
                validSeverity.ToString(),
                validTeamName,
                validBoardName
            };
            var expectedReturn = string.Format(CommandsConsts.ObjectCreated, nameof(Bug), validTitle);

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

            //Assert
            Assert.AreEqual(expectedReturn, actualReturn);
        }
Esempio n. 3
0
        public void AddBug(string title, string description)
        {
            var command = new CreateBugCommand {
                Id = Guid.NewGuid(), Title = title, Description = description
            };

            _createBugCommandHandler.Handle(command);
        }
        public void CreateBug_CreateSuccesfully()
        {
            var factory = new Mock <IFactory>();
            var result  = new CreateBugCommand(new List <string>()
            {
                "Team1", "Board1", "5", "Bug Title", "low", "minor", "one-two-three", "This is the description"
            },
                                               database, factory.Object).Execute();

            Assert.AreEqual("Created bug: 'Bug Title' with id: '5'. Added to board: 'Board1' in team: 'Team1'", result);
        }
Esempio n. 5
0
        public void BugCreation_Execute_Less_Params_ThrowEx()
        {
            //Arrange
            var listParams = new List <string>()
            {
                "TitleForTest", "WorkItemDescription", "High"
            };
            var fakeWiProv = new FakeWorkItemProvider();
            var sut        = new CreateBugCommand(listParams, fakeWiProv);

            //Act & Assert
            Assert.ThrowsException <ArgumentException>(() => sut.Execute(), "Parameters count is not valid!");
        }
Esempio n. 6
0
        public void should_send_email_notification(ResourceType type, int numberOfCalls)
        {
            // arrange
            bug = new Bug {
                Resources = { new Resource {
                                  User = dev, Type = type
                              } },
            };
            var command = new CreateBugCommand(bug, new User {
                Email = "nikita@company"
            });

            // act
            createBug.Handle(command);

            // assert
            mail.Received(numberOfCalls).Send(Arg.Is <MailMessage>(x => x.To.Any(m => m.Address == dev.Email)));
        }
        public void Moq_CreateBug_WhenNewBugCreated_ThenBugIsSaved()
        {
            //Given
            var mockUnitOfWork    = new Mock <IUnitOfWork>();
            var mockBugRepository = new Mock <IBugRepository>();

            var createBugUseCase = new CreateBugUseCase(mockBugRepository.Object, mockUnitOfWork.Object);
            var guid             = Guid.NewGuid();
            var createBugCommand = new CreateBugCommand {
                Description = "Description", Title = "Title", Id = guid
            };

            //When
            createBugUseCase.Handle(createBugCommand);

            //Then
            mockUnitOfWork.Verify(work => work.Save());
        }
        public void SimpleMockImplementation_CreateBug_WhenNewBugCreated_ThenRepositoryContainsCreatedBug()
        {
            //Given
            IBugRepository bugRepository = new MockBugRepository();
            IUnitOfWork    unitOfWork    = new MockUnitOfWork();

            var createBugUseCase = new CreateBugUseCase(bugRepository, unitOfWork);
            var guid             = Guid.NewGuid();
            var createBugCommand = new CreateBugCommand {
                Description = "Description", Title = "Title", Id = guid
            };

            //When
            createBugUseCase.Handle(createBugCommand);

            //Then
            bugRepository.GetById(guid).Description.ShouldBe("Description");
            bugRepository.GetById(guid).Title.ShouldBe("Title");
            bugRepository.GetById(guid).Status.ShouldBe(Status.New);
        }
Esempio n. 9
0
        public void BugCreation_Execute_Success()
        {
            //Arrange
            CommonInstances.CreateTestInstances();
            var fakeProvider = new FakeWorkItemProvider();

            var fakeCurrBoard = Commons.currentBoard;

            var listParams = new List <string>()
            {
                "WorkItemTitle", "WorkItemDescription", "High", "Critical"
            };

            var sut = new CreateBugCommand(listParams, fakeProvider);

            var result = sut.Execute();

            //Act & Assert
            Assert.AreEqual(result, $"WorkItemTitle bug added to {fakeCurrBoard} board!" + Commons.CreateBugText());
        }
Esempio n. 10
0
        public void ThrowArgumentException_WhenNullBugIsReturned()
        {
            //Arrange

            gettersMock.Setup(x => x.GetBoard(validTeamName, validBoardName)).Returns(boardMock.Object);

            var sut        = new CreateBugCommand(historyEventWriterMock.Object, componentsFactoryMock.Object, gettersMock.Object);
            var parameters = new List <string>()
            {
                validTitle,
                validDescription,
                string.Join(",", validSteps),
                validPriority.ToString(),
                validSeverity.ToString(),
                validTeamName,
                validBoardName
            };

            //Act, Assert
            Assert.ThrowsException <ArgumentException>(() => sut.Execute(parameters));
        }
Esempio n. 11
0
        public void BugCreation_Execute_SameTitleAlreadyExists_ThrowEx()
        {
            //Arrange
            CommonInstances.CreateTestInstances();
            var fakeProvider = new FakeWorkItemProvider();

            var fakeCurrBoard = Commons.currentBoard;

            var listParams = new List <string>()
            {
                "WorkItemTitle", "WorkItemDescription", "High", "Critical"
            };

            var workItem = new Bug("WorkItemTitle", "WorkItemDescription", Priority.High, Severity.Critical);

            fakeProvider.Add(workItem);

            var sut = new CreateBugCommand(listParams, fakeProvider);

            //Act & Assert
            Assert.ThrowsException <ArgumentException>(() => sut.Execute(), "Bug already exists!");
        }
        public void RealImplementation_CreateBug_WhenNewBugCreated_ThenRepositoryContainsCreatedBug()
        {
            IContainer container = CreateTestDIContainer();

            //Given
            IUnitOfWork    unitOfWork    = container.Resolve <IUnitOfWork>();
            IBugRepository bugRepository = container.Resolve <IBugRepository>();

            var createBugUseCase = new CreateBugUseCase(bugRepository, unitOfWork);
            var guid             = Guid.NewGuid();
            var createBugCommand = new CreateBugCommand {
                Description = "Description", Title = "Title", Id = guid
            };

            //When
            createBugUseCase.Handle(createBugCommand);

            //Then
            bugRepository.GetById(guid).Description.ShouldBe("Description");
            bugRepository.GetById(guid).Title.ShouldBe("Title");
            bugRepository.GetById(guid).Status.ShouldBe(Status.New);
        }
Esempio n. 13
0
        public void ThrowExeptionWhenCommandParametersAreLessThanItShouldCorrectly()
        {
            string        bugTitle       = "MnogoLoshBug";
            string        description    = "Bug description";
            List <string> stepsToProduce = new List <string> {
                "Noting", "to", "produce."
            };
            IBug bug = new Bug(bugTitle, description, stepsToProduce);

            database.Bugs.Add(bug);

            List <string> parameters = new List <string>
            {
                bugTitle,
                description,
            };

            CreateBugCommand command = new CreateBugCommand(parameters);

            command.Execute();
            Assert.IsTrue(database.Bugs.Any(x => x.Title == bugTitle));
        }
Esempio n. 14
0
        public void CreateBugCommand()
        {
            string        bugTitle       = "MnogoLoshBug";
            string        description    = "Bug description";
            List <string> stepsToProduce = new List <string> {
                "Noting", "to", "produce."
            };
            IBug bug = new Bug(bugTitle, description, stepsToProduce);

            database.Bugs.Add(bug);

            List <string> parameters = new List <string>
            {
                bugTitle,
                description,
                stepsToProduce.ToString(),
            };

            CreateBugCommand command = new CreateBugCommand(parameters);

            command.Execute();
            Assert.IsTrue(database.Bugs.Any(x => x.Title == bugTitle));
        }
Esempio n. 15
0
        public async Task <IActionResult> Post(CreateBugCommand command, CancellationToken token)
        {
            var result = await Mediator.Send(command, token);

            return(Ok(result));
        }
 public async Task <ActionResult> AddBug(CreateBugCommand command) => Ok(await Mediator.Send(command));
Esempio n. 17
0
        public async Task CreateBug(CreateBugCommand bug)
        {
            var result = await _httpClient.PostAsJsonAsync("/api/bug", bug);

            result.EnsureSuccessStatusCode();
        }