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());
        }
Example #2
0
        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>());
        }
Example #3
0
        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> >());
        }
Example #4
0
        public void GetAll_WhenCalled_ReturnsOk()
        {
            UnitOfWork.Setup(u => u.StatementRepository).Returns(FakeRepository.Object);

            FakeRepository.Setup(r => r.GetAll(1, 20, new StatementFilter()))
            .Returns(new List <Statement>());


            var controller = new StatementsController();

            controller._unitOfWork = UnitOfWork.Object;
            var result = controller.GetAll(1, 20, new StatementFilter());


            Assert.That(result, Is.TypeOf <OkNegotiatedContentResult <StatementsViewModel> >());
        }
Example #5
0
        public StatementsControllerTests(DatabaseSettingsFixture dbFixture)
        {
            // 0: Setting wrapper for logger
            loggerWrapper = new LoggerWrapper <StatementsController>();

            // 1: Setting establishment and releases service given db settings
            this.dbSettings           = dbFixture.dbSettings;
            this.establishmentService = dbFixture.establishmentService;
            this.releasesService      = dbFixture.releasesService;

            // 2: Get controller messages
            this.controllerMessages = GetControllerMessagesProperties();

            // 3: Instantiate of Establishment Controller
            this.statementsController = new StatementsController(loggerWrapper, releasesService, establishmentService, controllerMessages);
        }
 public void SetUp()
 {
     customer   = new Customer();
     repository = new StatementRepository();
     controller = new StatementsController(repository, customer);
 }
        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);
        }