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); }
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); }
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); }
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!"); }
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); }
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()); }
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)); }
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); }
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)); }
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)); }
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));
public async Task CreateBug(CreateBugCommand bug) { var result = await _httpClient.PostAsJsonAsync("/api/bug", bug); result.EnsureSuccessStatusCode(); }