public void ReturnCorrectMessage_WhenCorrectParametrsArePassed() { //Arrange this.gettersMock.Setup(x => x.GetBoard(this.validTeamName, this.validBoardName)).Returns(this.boardMock.Object); this.componentsFactoryMock .Setup(x => x.CreateFeedback(this.validTitle, this.validDescription, this.validRating, boardMock.Object)) .Returns(this.feedbackMock.Object); var sut = new CreateFeedbackCommand(this.historyEventWriterMock.Object, this.componentsFactoryMock.Object, this.gettersMock.Object); var parameters = new List <string>() { this.validTitle, this.validDescription, this.validRating.ToString(), this.validTeamName, this.validBoardName }; var expectedReturn = string.Format(CommandsConsts.ObjectCreated, nameof(Feedback), validTitle); //Act var actualReturn = sut.Execute(parameters); //Assert Assert.AreEqual(expectedReturn, actualReturn); }
public void ExecuteAllFourMethodsOnce_WhenValidParametersArePassed() { //Arrange this.gettersMock.Setup(x => x.GetBoard(this.validTeamName, this.validBoardName)).Returns(this.boardMock.Object); this.componentsFactoryMock .Setup(x => x.CreateFeedback(this.validTitle, this.validDescription, this.validRating, boardMock.Object)) .Returns(this.feedbackMock.Object); var sut = new CreateFeedbackCommand(this.historyEventWriterMock.Object, this.componentsFactoryMock.Object, this.gettersMock.Object); var parameters = new List <string>() { this.validTitle, this.validDescription, this.validRating.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.CreateFeedback(this.validTitle, this.validDescription, this.validRating, boardMock.Object), Times.Once); this.boardMock.Verify(x => x.AddWorkItemToBoard(feedbackMock.Object), Times.Once); this.historyEventWriterMock. Verify(x => x.AddHistoryEvent( returnMessage, null, boardMock.Object, It.IsAny <ITeam>(), null ), Times.Once); }
/// <summary> /// Creates the feedback. /// </summary> /// <param name="bookId">The book identifier.</param> /// <param name="rating">The rating.</param> /// <param name="message">The message.</param> /// <returns></returns> public async Task <BookFeedbackDto> CreateFeedback(int bookId, int rating, string message) { var command = new CreateFeedbackCommand { Text = message, Rating = rating }; return(await this.api.CreateFeedback(bookId, command)); }
public async Task <ActionResult <CreateFeedbackResponse> > Create(CreateFeedbackRequest request) { var command = new CreateFeedbackCommand(request.Description, request.GroupId); var cmdResult = await Bus.SendCommand(command); return(new CreateFeedbackResponse(cmdResult.Success, cmdResult.Message)); }
public void CreateFeedback_Succesfully() { var factory = new Mock <IFactory>(); var result = new CreateFeedbackCommand(new List <string>() { "Team1", "Board1", "5", "Title for Feedback", "1", "done", "Description for Feedback." }, database, factory.Object).Execute(); Assert.AreEqual("Created feedback: 'Title for Feedback' with id: '5'. Added to board: 'Board1' in team: 'Team1'", result); }
public async Task <BookFeedbackDto> CreateFeedback(int bookid, int personId, CreateFeedbackCommand command) { var bookFeedback = new BookFeedback { PersonId = personId, BookId = bookid, Text = command.Text, Rating = command.Rating }; var feedback = await this.Add(bookFeedback); feedback.Person = this.Context.Persons.Find(feedback.PersonId); return(feedback.ToDto()); }
/// <summary> /// Creates the feedback. /// </summary> /// <param name="bookId">The book identifier.</param> /// <param name="command">The command.</param> /// <returns></returns> /// <exception cref="ArgumentException">Missing Book ID!</exception> public async Task <BookFeedbackDto> CreateFeedback(int bookId, CreateFeedbackCommand command) { if (bookId == 0) { throw new ArgumentException("Missing Book ID!", nameof(bookId)); } var request = new RequestBuilder() .BaseUri(this.CombineUrl("{id}")) .AddUriSegment("id", bookId) .JsonContent(command) .Method(HttpMethod.Post); return(await this.ExecuteAndParse <BookFeedbackDto>(request)); }
public void ThrowExeptionWhenCommandParametersAreLessThanItShouldCorrectly() { string feedbackTitle = "MnogoLoshFeedback"; string description = "Feedback description"; int rating = 5; IFeedback feedback = new Feedback(feedbackTitle, description, rating); database.Feedbacks.Add(feedback); List <string> parameters = new List <string> { feedbackTitle, description }; CreateFeedbackCommand command = new CreateFeedbackCommand(parameters); command.Execute(); Assert.IsTrue(database.Feedbacks.Any(x => x.Title == feedbackTitle)); }
public void ThrowArgumentException_WhenNullFeedbackIsReturned() { //Arrange this.gettersMock.Setup(x => x.GetBoard(this.validTeamName, this.validBoardName)).Returns(this.boardMock.Object); this.componentsFactoryMock .Setup(x => x.CreateFeedback(this.validTitle, this.validDescription, this.validRating, boardMock.Object)); var sut = new CreateFeedbackCommand(this.historyEventWriterMock.Object, this.componentsFactoryMock.Object, this.gettersMock.Object); var parameters = new List <string>() { this.validTitle, this.validDescription, this.validRating.ToString(), this.validTeamName, this.validBoardName }; //Act, Assert Assert.ThrowsException <ArgumentException>(() => sut.Execute(parameters)); }
public void CreateFeedbackCommand() { string feedbackTitle = "MnogoLoshFeedback"; string description = "Feedback description"; int rating = 5; IFeedback feedback = new Feedback(feedbackTitle, description, rating); database.Feedbacks.Add(feedback); List <string> parameters = new List <string> { feedbackTitle, description, rating.ToString() }; CreateFeedbackCommand command = new CreateFeedbackCommand(parameters); command.Execute(); Assert.IsTrue(database.Feedbacks.Any(x => x.Title == feedbackTitle)); }
public async Task <ActionResult <ResponseWrapper> > CreateFeedbackAsync([FromBody] CreateFeedbackCommand command) { var result = await _mediator.Send(command); return(Ok(ResponseWrapper.CreateOkResponseWrapper(result))); }
public async Task <IActionResult> AddFeedbackAsync(CreateFeedbackCommand command) { return(Ok(await Mediator.Send(command))); }
public async Task <IHttpActionResult> Create(int id, CreateFeedbackCommand command) { var personAuthDto = await this.GetAuthorizedMember(this._authRepository); return(await this.TryCreate(() => this._bookFeedbackRepository.CreateFeedback(id, personAuthDto.PersonDto.Id, command))); }