public async void Get_NoReleasesFound404_Test() { // 1: Call GET Action var query = await statementsController.Get(); var result = query.Result.GetType().GetProperty("Value").GetValue(query.Result); Type resultType = result.GetType(); Assert.Equal(404, (int)resultType.GetProperty("StatusCode").GetValue(result)); Assert.Equal(controllerMessages.NotFound.Replace("$", "Lançamento"), (string)resultType.GetProperty("Message").GetValue(result)); }
public async void Get_ThrowsException_Test() { // 1: Mocking GetAll Method to throws var releasesServiceMock = new Mock <ReleasesService>(dbSettings); releasesServiceMock.Setup(es => es.GetAll()).ThrowsAsync(new InvalidOperationException()); var statementsControllerLocal = new StatementsController(loggerWrapper, releasesServiceMock.Object, establishmentService, controllerMessages); // 2: Call GET Action and Expects to throws await Assert.ThrowsAsync <InvalidOperationException>(async() => await statementsControllerLocal.Get()); }
public void Get_StatementNotFound_ReturnsNotFound() { UnitOfWork.Setup(u => u.StatementRepository).Returns(FakeRepository.Object); FakeRepository.Setup(r => r.GetById(1)).Returns((Statement)null); var controller = new StatementsController(); controller._unitOfWork = UnitOfWork.Object; var result = controller.Get(1); Assert.That(result, Is.TypeOf <NotFoundResult>()); }
public void Get_StatementRetrieved_ReturnsOk() { UnitOfWork.Setup(u => u.StatementRepository).Returns(FakeRepository.Object); FakeRepository.Setup(r => r.GetById(1)).Returns(new Statement()); var controller = new StatementsController(); controller._unitOfWork = UnitOfWork.Object; var result = controller.Get(1); Assert.That(result, Is.TypeOf <OkNegotiatedContentResult <StatementDTO> >()); }
public async void Get_SuccessStatus200_Test() { // 0: Create releases and add to list Release firstRelease = new Release() { Id = "5dcaad2526235a471cfcccad", Date = "05/05/2019", PaymentMethod = PaymentMethod.Credito, EstablishmentName = "Test 1", Amount = 55.55m, CreatedAt = DateTime.Now, UpdatedAt = DateTime.Now }; Release secondRelease = new Release() { Id = "5dcaad2526235a471cfcccac", Date = "05/05/2019", PaymentMethod = PaymentMethod.Credito, EstablishmentName = "Test 2", Amount = 55.55m, CreatedAt = DateTime.Now, UpdatedAt = DateTime.Now }; List <Release> releaseList = new List <Release>(); releaseList.Add(firstRelease); releaseList.Add(secondRelease); // 1: Create establishments and add to list Establishment firstEstablishment = new Establishment() { Id = "4dcaad2526235a471cfcccac", Name = "Test 1", Type = "Alimentação" }; Establishment secondEstablishment = new Establishment() { Id = "4dcaad2526235a471cfcccaa", Name = "Test 2", Type = "Alimentação" }; List <Establishment> establishmentList = new List <Establishment>(); establishmentList.Add(firstEstablishment); establishmentList.Add(secondEstablishment); // 1: Mocking GetAll Method to return fake objects var releasesServiceMock = new Mock <ReleasesService>(dbSettings); releasesServiceMock.Setup(rs => rs.GetAll()).ReturnsAsync(releaseList); var establishmentServiceMock = new Mock <EstablishmentService>(dbSettings); establishmentServiceMock.Setup(es => es.GetAll()).ReturnsAsync(establishmentList); var statementsControllerLocal = new StatementsController(loggerWrapper, releasesServiceMock.Object, establishmentServiceMock.Object, controllerMessages); // 2: Call GET var query = await statementsControllerLocal.Get(); var resultStatusCode = (int)query.Result.GetType().GetProperty("StatusCode").GetValue(query.Result); var resultValue = (List <Statement>)query.Result.GetType().GetProperty("Value").GetValue(query.Result); Assert.Equal(200, resultStatusCode); Assert.Equal(111.10M, resultValue[0].TotalAmount); }