Example #1
0
        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);
        }
Example #2
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.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);
        }
Example #3
0
        /// <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));
        }
Example #4
0
        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());
        }
Example #7
0
        /// <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));
        }
Example #8
0
        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));
        }
Example #9
0
        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));
        }
Example #10
0
        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)));
 }
Example #13
0
        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)));
        }