コード例 #1
0
ファイル: UnitTest.cs プロジェクト: machete0077/PrimerParcial
        public void TestGet()
        {
            //arrange
            PaisesController controller = new PaisesController();
            Pais             pais       = new Pais();

            {
                Name      = "Bolivia",
                Capital   = "Sucre",
                Poblacion = 1501211,
                LatLng    = "-150°,85°",
                TimeZone  = "9:04/15/19",
                Moneda    = "Euros",
                Bandera   = "https://www.pinterest.com/marcela7340/bolivia/"
            };
            //act
            IHttpActionResult ActionResult = controller.PostPais(pais);
            var createdResult = ActionResult as
                                CreatedAtRouteNegotiatedContentResult <PaisesController>;

            //assert
            Assert.IsNotNull(createdResult);
            Assert.AreEqual("DefaultApi", createdResult.RouteName);
            Assert.IsNotNull(createdResult.RouteValues["name"]);
        }
    }
コード例 #2
0
        public async Task PostPais_Created()
        {
            var options = Options;

            var pais = new Pais()
            {
                PaisId = Guid.NewGuid(),
                Nome   = "Brasil",
                Sigla  = "BR",
            };

            using (CompeticoesDbContext context = new CompeticoesDbContext(options))
            {
                var controller = new PaisesController(context);

                var result = await controller.PostPais(pais);

                var createdResult = Assert.IsType <CreatedAtActionResult>(result);
                var paisResult    = Assert.IsType <Pais>(createdResult.Value);
                Assert.Equal(pais, paisResult);
                Assert.Equal("GetPais", createdResult.ActionName);
                Assert.Equal(pais.PaisId, createdResult.RouteValues["id"]);
            }

            using (CompeticoesDbContext context = new CompeticoesDbContext(options))
            {
                var paisResult = await context.Paises.FirstOrDefaultAsync();

                var jsonResult = Newtonsoft.Json.JsonConvert.SerializeObject(paisResult);
                var paisJson   = Newtonsoft.Json.JsonConvert.SerializeObject(pais);

                Assert.Equal(paisJson, jsonResult);
            }
        }
コード例 #3
0
        public async Task PutPais_NoContent()
        {
            var options = Options;

            var pais = await AdicionarPais(options);

            using (CompeticoesDbContext context = new CompeticoesDbContext(options))
            {
                pais.Nome = "Brazil";
                var controller = new PaisesController(context);

                var result = await controller.PutPais(pais.PaisId, pais);

                var noContentResult = Assert.IsType <NoContentResult>(result);
                Assert.Equal(204, noContentResult.StatusCode);
            }

            using (CompeticoesDbContext context = new CompeticoesDbContext(options))
            {
                var controller = new PaisesController(context);
                var result     = await controller.GetPais(pais.PaisId);

                var okResult   = Assert.IsType <OkObjectResult>(result);
                var paisResult = Assert.IsType <Pais>(okResult.Value);
                Assert.Equal(pais.PaisId, paisResult.PaisId);
                Assert.Equal(pais.Nome, paisResult.Nome);
            }
        }
コード例 #4
0
        public async Task PutPaisbyIDAsync_ShouldUpdatePaisCCAsync()
        {
            Thread.Sleep(2000);
            //Arrange
            var testContext    = OMSContextMocker.GetOMSContext("DBTestForPaisesPutID");
            var testController = new PaisesController(testContext);

            //Act
            var getPais = await testController.GetPais("CC");

            var pais = getPais.Value;

            pais.Nome   = "TestPaisCCUpdated";
            pais.ZonaId = "CC";
            var result = await testController.PutPais("CC", pais);

            var getresult = await testController.GetPais("CC");

            //Assert
            var items = Assert.IsType <Pais>(getresult.Value);

            Assert.Equal("TestPaisCCUpdated", items.Nome);
            Assert.Equal("CC", items.ZonaId);
            Assert.IsType <NoContentResult>(result);
        }
コード例 #5
0
        public void TestGetPaises()
        {
            //Arrange
            PaisesController controlador = new PaisesController();
            //Act
            var listaPaises = controlador.GetPaises();

            //Assert
        }
コード例 #6
0
        public void TestMethodGet()
        {
            //Arrange
            PaisesController paisesController = new PaisesController();

            //Act
            var Resultado = paisesController.GetPaises();

            //Assert
            Assert.IsNotNull(Resultado);
        }
コード例 #7
0
        public async Task GetPais_NotFound()
        {
            var options = Options;

            await AdicionarPais(options);

            using (CompeticoesDbContext context = new CompeticoesDbContext(options))
            {
                var controller = new PaisesController(context);

                var result = await controller.GetPais(Guid.NewGuid());

                Assert.IsType <NotFoundResult>(result);
            }
        }
コード例 #8
0
        public async Task GetAllPaisesAsync_ShouldReturnAllPaisesAsync()
        {
            Thread.Sleep(2000);
            //Arrange
            var testContext    = OMSContextMocker.GetOMSContext("DBTestForPaisesGetAll");
            var testController = new PaisesController(testContext);

            //Act
            var result = await testController.GetPais();

            //Assert
            var items = Assert.IsType <List <Pais> >(result.Value);

            Assert.Equal(3, items.Count);
        }
コード例 #9
0
        public async Task GetPaisbyIDAsync_ShouldReturnPaisBBAsync()
        {
            Thread.Sleep(2000);
            //Arrange
            var testContext    = OMSContextMocker.GetOMSContext("DBTestForPaisesGetID");
            var testController = new PaisesController(testContext);

            //Act
            var result = await testController.GetPais("BB");

            //Assert
            var items = Assert.IsType <Pais>(result.Value);

            Assert.Equal("BB", items.Id);
        }
コード例 #10
0
        public async Task DeletePaisAsync_ShouldDeletePaisBBAsync()
        {
            Thread.Sleep(2000);
            //Arrange
            var testContext    = OMSContextMocker.GetOMSContext("DBTestForPaisesDelete");
            var testController = new PaisesController(testContext);

            //Act
            var result = await testController.DeletePais("BB");

            var get = await testController.GetPais("BB");

            //Assert
            Assert.IsType <NotFoundResult>(get.Result);
            Assert.IsType <NoContentResult>(result);
        }
コード例 #11
0
        public async Task PutPais_BadRequest_Id_Diferente()
        {
            var options = Options;

            using (CompeticoesDbContext context = new CompeticoesDbContext(options))
            {
                var controller = new PaisesController(context);

                var result = await controller.PutPais(Guid.NewGuid(), new Pais()
                {
                });

                var badResult = Assert.IsType <BadRequestResult>(result);
                Assert.Equal(400, badResult.StatusCode);
            }
        }
コード例 #12
0
        public async Task PostPaisAsync_ShouldCreateNewPaisAsync()
        {
            Thread.Sleep(2000);
            //Arrange
            var testContext    = OMSContextMocker.GetOMSContext("DBTestForPaisesPost");
            var testController = new PaisesController(testContext);

            //Act
            var result = await testController.PostPais(new Pais { Id = "DD", Nome = "TestPaisDD", ZonaId = "CC" });

            var get = await testController.GetPais("DD");

            //Assert
            Assert.IsType <Pais>(get.Value);
            Assert.IsType <CreatedAtActionResult>(result.Result);
        }
コード例 #13
0
        public async Task GetPais_Ok()
        {
            var options = Options;

            var pais = await AdicionarPais(options);

            using (CompeticoesDbContext context = new CompeticoesDbContext(options))
            {
                var controller = new PaisesController(context);

                var result = await controller.GetPais(pais.PaisId);

                var okResult   = Assert.IsType <OkObjectResult>(result);
                var paisResult = Assert.IsType <Pais>(okResult.Value);
                Assert.Equal(pais.PaisId, paisResult.PaisId);
            }
        }
コード例 #14
0
        public async Task PutPais_BadRequest_ModelState_Invalido()
        {
            var options = Options;

            using (CompeticoesDbContext context = new CompeticoesDbContext(options))
            {
                var controller = new PaisesController(context);

                controller.ModelState.AddModelError("Key", "Error");

                var result = await controller.PutPais(Guid.NewGuid(), new Pais());

                var badRequestResult = Assert.IsType <BadRequestObjectResult>(result);
                var valueResult      = Assert.IsType <SerializableError>(badRequestResult.Value);
                var value            = Assert.IsType <string[]>(valueResult["Key"]);
                Assert.Equal("Error", value[0]);
            }
        }
コード例 #15
0
        public async Task GetPaises()
        {
            var options = Options;

            Pais pais = await AdicionarPais(options);

            using (CompeticoesDbContext context = new CompeticoesDbContext(options))
            {
                PaisesController controller = new PaisesController(context);

                var result     = controller.GetPaises();
                var paisResult = result.First();

                Assert.IsAssignableFrom <IEnumerable <Pais> >(result);
                Assert.True(result.Count() == await context.Paises.CountAsync());
                Assert.Equal(pais.PaisId, paisResult.PaisId);
            }
        }
コード例 #16
0
        public async Task DeltePais_Ok()
        {
            var options = Options;

            var pais = await AdicionarPais(options);

            using (CompeticoesDbContext context = new CompeticoesDbContext(options))
            {
                var controller = new PaisesController(context);

                var result = await controller.DeletePais(pais.PaisId);

                var okResult   = Assert.IsType <OkObjectResult>(result);
                var paisResult = Assert.IsType <Pais>(okResult.Value);
            }

            using (CompeticoesDbContext context = new CompeticoesDbContext(options))
            {
                Assert.True(!(await context.Paises.AnyAsync(a => a.PaisId == pais.PaisId)));
            }
        }
コード例 #17
0
        public async Task PutPais_ConcurrencyExceptions_NotExists_NotFound()
        {
            var options = Options;

            var pais = await AdicionarPais(options);

            using (CompeticoesDbContext context = new CompeticoesDbContext(options))
            {
                context.Paises.Remove(pais);
                await context.SaveChangesAsync();
            }

            using (CompeticoesDbContext context = new CompeticoesDbContext(options))
            {
                pais.Nome = "Brazil";
                var controller = new PaisesController(context);

                var result = await controller.PutPais(pais.PaisId, pais);

                Assert.IsType <NotFoundResult>(result);
            }
        }