public void Post_WhenServiceThrowsUnauthorized_ThenReturnsUnauthorized() { // Arrange var sut = new ReactionsController(_reactionsServiceMock.Object, _mapperMock.Object); var request = new ReactionSaveRequest { Token = "MHZ52UYA1ZL" }; var mappedRequest = new Reaction(); _mapperMock .Setup(m => m.Map <Reaction>(request)) .Returns(mappedRequest); _reactionsServiceMock .Setup(s => s.Save(request.Token, mappedRequest)) .Throws <UnauthorizedException>(); // Act var actual = sut.Post(request); // Assert actual.ShouldBeOfType <UnauthorizedResult>(); _mockRepository.VerifyAll(); }
public void Post_WhenSavesSuccessfuly_ThenReturnsOk() { // Arrange var sut = new ReactionsController(_reactionsServiceMock.Object, _mapperMock.Object); var request = new ReactionSaveRequest { Token = "MHZ52UYA1ZL" }; var mappedRequest = new Reaction(); _mapperMock .Setup(m => m.Map <Reaction>(request)) .Returns(mappedRequest); _reactionsServiceMock .Setup(s => s.Save(request.Token, mappedRequest)); // Act var actual = sut.Post(request) as OkObjectResult; // Assert actual.Value.ShouldBe("Reaction saved!"); _mockRepository.VerifyAll(); }
public IActionResult Post([FromBody] ReactionSaveRequest request) { var reaction = _mapper.Map <Reaction>(request); try { _reactionsService.Save(request.Token, reaction); } catch (UnauthorizedException) { return(Unauthorized()); } return(Ok("Reaction saved!")); }