public async Task <IActionResult> CreateStory([FromBody] CreateStoryRequest request) { var createStoryCommand = new CreateStoryCommand(request); var result = await mediator.Send(createStoryCommand); return(StatusCode((int)result.Code, result.Value)); }
public void ReturnCorrectMessage_WhenCorrectParametrsArePassed() { //Arrange this.gettersMock.Setup(x => x.GetBoard(this.validTeamName, this.validBoardName)).Returns(this.boardMock.Object); this.componentsFactoryMock .Setup(x => x.CreateStory(this.validTitle, this.validDescription, this.validPriority, this.validStorySize, boardMock.Object, null)) .Returns(this.storyMock.Object); var sut = new CreateStoryCommand(this.historyEventWriterMock.Object, this.componentsFactoryMock.Object, this.gettersMock.Object); var parameters = new List <string>() { this.validTitle, this.validDescription, this.validPriority.ToString(), this.validStorySize.ToString(), this.validTeamName, this.validBoardName }; var expectedReturn = string.Format(CommandsConsts.ObjectCreated, nameof(Story), this.validTitle); //Act var actualReturn = sut.Execute(parameters); //Assert Assert.AreEqual(expectedReturn, actualReturn); }
public async Task <IRequestResult <Story> > Handle(CreateStoryCommand request, CancellationToken cancellationToken) { //var name = request.User.Identity.Name; var author = await context.Authors .Where(user => user.Id == 1) .FirstOrDefaultAsync(cancellationToken); var slug = slugGenerator.CreateFrom(request.Title); var story = new Persistence.Models.Story { Title = request.Title, Slug = slug, Content = request.Content, Status = StoryStatus.Draft, IsPublic = request.IsPublic, Created = dateTimeProvider.Now, Author = author }; await context.Stories.AddAsync(story, cancellationToken); await context.SaveChangesAsync(cancellationToken); return(RequestResult.Success(mapper.Map <Story>(story))); }
private IEvent CreateStory(CreateStoryCommand command) { //if (Version >= 0) //{ // throw new StoryAlreadyCreatedException(); //} return(Apply(new StoryCreatedEvent(Guid.NewGuid(), command.Title))); }
public void ThrowWhen_NoItemsInBoard() { //Arrange var fakeProvider = new FakeWorkItemProvider(); var list = new List <string>(); var sut = new CreateStoryCommand(list, fakeProvider); //Act & Assert Assert.ThrowsException <ArgumentException>(() => sut.Execute()); }
public async Task <ActionResult <int> > CreateStory( [FromBody] CreateStoryCommand command) { var storyId = await Mediator.Send(command); return(CreatedAtAction( "GetStory", new { id = storyId }, storyId)); }
public void CreateStory_Succesfully() { var factory = new Mock <IFactory>(); var result = new CreateStoryCommand(new List <string>() { "Team1", "Board1", "5", "Title for Story", "high", "large", "Description for story." }, database, factory.Object).Execute(); Assert.AreEqual("Created story: 'Title for Story' with id: '5'. Added to board: 'Board1' in team: 'Team1'", result); }
public void Execute_Less_Params_ThrowEx() { var fakeProvider = new FakeWorkItemProvider(); var listParams = new List <string>() { "CreatedNewStory", "CSDescription", "high" };; var sut = new CreateStoryCommand(listParams, fakeProvider); //Act & Assert Assert.ThrowsException <ArgumentException>(() => sut.Execute(), "Parameters count is not valid!"); }
public void ThrowExeptionWhenCommandParametersAreLessThanItShouldCorrectly() { string storyTitle = "MnogoLoshoStory"; string description = "Story description"; IStory story = new Story(storyTitle, description); database.Stories.Add(story); List <string> parameters = new List <string> { storyTitle }; CreateStoryCommand command = new CreateStoryCommand(parameters); command.Execute(); Assert.IsTrue(database.Stories.Any(x => x.Title == storyTitle)); }
public void ExecuteAllFourMethodsOnce_WhenValidParametersArePassed() { //Arrange this.gettersMock.Setup(x => x.GetBoard(this.validTeamName, this.validBoardName)).Returns(this.boardMock.Object); this.componentsFactoryMock .Setup(x => x.CreateStory(this.validTitle, this.validDescription, this.validPriority, this.validStorySize, boardMock.Object, null)) .Returns(this.storyMock.Object); var sut = new CreateStoryCommand(this.historyEventWriterMock.Object, this.componentsFactoryMock.Object, this.gettersMock.Object); var parameters = new List <string>() { this.validTitle, this.validDescription, this.validPriority.ToString(), this.validStorySize.ToString(), this.validTeamName, this.validBoardName }; //Act var returnMessage = sut.Execute(parameters); //Assert this.gettersMock.Verify(x => x.GetBoard(this.validTeamName, this.validBoardName), Times.Once); this.componentsFactoryMock .Verify(x => x.CreateStory( this.validTitle, this.validDescription, this.validPriority, this.validStorySize, boardMock.Object, null), Times.Once); this.boardMock.Verify(x => x.AddWorkItemToBoard(this.storyMock.Object), Times.Once); this.historyEventWriterMock. Verify(x => x.AddHistoryEvent( returnMessage, It.IsAny <IPerson>(), boardMock.Object, It.IsAny <ITeam>(), null ), Times.Once); }
public void ReturnCorrectString() { //Arrange var fakeProvider = new FakeWorkItemProvider(); var board = new Board("Trello"); var listParams = new List <string>() { "CreatedNewStory", "CSDescription", "high", "large" }; Commons.currentBoard = board; var sut = new CreateStoryCommand(listParams, fakeProvider); //Act var result = sut.Execute(); //Assert Assert.AreEqual(result, $"CreatedNewStory story added to Trello board!" + Commons.CreateStoryText()); }
public void CreateStoryCommand() { string storyTitle = "MnogoLoshoStory"; string description = "Story description"; IStory story = new Story(storyTitle, description); database.Stories.Add(story); List <string> parameters = new List <string> { storyTitle, description, }; CreateStoryCommand command = new CreateStoryCommand(parameters); command.Execute(); Assert.IsTrue(database.Stories.Any(x => x.Title == storyTitle)); }
public void ThrowArgumentException_WhenNullStoryIsReturned() { //Arrange this.gettersMock.Setup(x => x.GetBoard(this.validTeamName, this.validBoardName)).Returns(this.boardMock.Object); this.componentsFactoryMock .Setup(x => x.CreateStory(this.validTitle, this.validDescription, this.validPriority, this.validStorySize, boardMock.Object, null)); var sut = new CreateStoryCommand(this.historyEventWriterMock.Object, this.componentsFactoryMock.Object, this.gettersMock.Object); var parameters = new List <string>() { this.validTitle, this.validDescription, this.validPriority.ToString(), this.validStorySize.ToString(), this.validTeamName, this.validBoardName }; //Act, Assert Assert.ThrowsException <ArgumentException>(() => sut.Execute(parameters)); }
public async Task CreateStory([FromBody] CreateStoryCommand createStoryCommand) { await _mediator.Send(createStoryCommand); }
public async Task <ActionResult <int> > Create(CreateStoryCommand command) { return(await Mediator.Send(command)); }
public async Task <IActionResult> Post([FromBody] CreateStoryCommand command) { var story = await Mediator.Send(command); return(CreatedAtAction("Get", new { id = story.Id }, story)); }