public async Task Create_Unhandled_Exception_From_Command_Is_Catched_And_Logged() { // Arrange var loggerMock = new Mock <ILogger>(); ShortTokenController shortTokenController = new ShortTokenController(loggerMock.Object); var generateShortTokenCommandMock = new Mock <IGenerateShortTokenCommand>(); var exFromCommand = new Exception(); generateShortTokenCommandMock.Setup(x => x.Execute(It.IsAny <string>())).ThrowsAsync(exFromCommand); CreateSTokenModel model = new CreateSTokenModel() { RToken = "some refresh token" }; // Act var result = await shortTokenController.Create(model, generateShortTokenCommandMock.Object); // Assert loggerMock.Verify(x => x.LogAsync(It.Is <Log>(l => l.Type == LogType.Error && l.Context == "ShortTokenController.Create"), default), Times.Once); Assert.IsInstanceOf <BadRequestObjectResult>(result); var badRequestResult = (BadRequestObjectResult)result; Assert.AreEqual(400, badRequestResult.StatusCode); Assert.IsInstanceOf <Message>(badRequestResult.Value); }
public void Ctor_When_Called_Sets_Logger() { // Arrange ILogger logger = new Mock <ILogger>().Object; // Act ShortTokenController shortTokenController = new ShortTokenController(logger); // Assert Assert.AreEqual(logger, shortTokenController.Logger); }
public async Task Create_When_Called_With_Null_Model_Returns_BadRequestObjectResult() { // Arrange ILogger logger = new Mock <ILogger>().Object; ShortTokenController shortTokenController = new ShortTokenController(logger); var generateShortTokenCommandMock = new Mock <IGenerateShortTokenCommand>(); TokenResult tokenResult = new TokenResult("", "", DateTime.Now); generateShortTokenCommandMock.Setup(x => x.Execute(It.IsAny <string>())).ReturnsAsync(tokenResult); // Act var result = await shortTokenController.Create(null as CreateSTokenModel, generateShortTokenCommandMock.Object); // Assert Assert.IsInstanceOf <BadRequestObjectResult>(result); var badRequestResult = (BadRequestObjectResult)result; Assert.AreEqual(400, badRequestResult.StatusCode); Assert.IsInstanceOf <Message>(badRequestResult.Value); }
public async Task Create_When_Called_Returns_Short_Token() { // Arrange ILogger logger = new Mock <ILogger>().Object; ShortTokenController shortTokenController = new ShortTokenController(logger); CreateSTokenModel model = new CreateSTokenModel() { RToken = "some refresh token" }; var generateShortTokenCommandMock = new Mock <IGenerateShortTokenCommand>(); TokenResult tokenResult = new TokenResult("", "", DateTime.Now); generateShortTokenCommandMock.Setup(x => x.Execute(It.IsAny <string>())).ReturnsAsync(tokenResult); // Act var result = await shortTokenController.Create(model, generateShortTokenCommandMock.Object); // Assert Assert.IsInstanceOf <CreatedResult>(result); var createdResult = (CreatedResult)result; Assert.AreEqual(201, createdResult.StatusCode); Assert.AreEqual(tokenResult, createdResult.Value); }