public async Task HandleAsync_AssureRating_PassedCorrectly() { //Arrange var model = new FeedbackGetModel { Rating = 5 }; var fetchedData = new List <SessionFeedbackDto>(); var offset = 0; var limit = 15; var feedbackServiceMock = new Mock <IFeedbackService>(); feedbackServiceMock.Setup(m => m.GetFeedbackListAsync(model.Rating, offset, limit)).ReturnsAsync <IFeedbackService, List <SessionFeedbackDto> >(fetchedData); var handler = new FeedbackGetRequestHandler(feedbackServiceMock.Object); //Act var actualData = await handler.HandleAsync(model); //Assert Assert.NotNull(actualData); feedbackServiceMock.Verify(m => m.GetFeedbackListAsync( It.Is <byte>(val => val == model.Rating) , It.Is <int>(a => a == offset) , It.Is <int>(a => a == limit)), Times.Once); }
public FeedbackGetModel Create(IQueryCollection queryCol) { var model = new FeedbackGetModel(); if (queryCol != null && queryCol.Any() && queryCol.TryGetValue(RatingQueryParamName, out var queryParamValue)) { var strRating = queryParamValue.FirstOrDefault(); if (!String.IsNullOrEmpty(strRating)) { if (byte.TryParse(strRating, out var rating)) { model.Rating = rating; } } } return(model); }
public async Task <List <SessionFeedbackDto> > HandleAsync(FeedbackGetModel model) { var rating = model.Rating; return(await _feedbackService.GetFeedbackListAsync(rating : rating, offset : 0, limit : 15)); }