Example #1
0
        public void al_eliminar_un_pais_con_id_existente_no_debe_devolver_ninguna_excepcion()
        {
            // Arrange.
            string codigoiata = "AR";

            // Mock del repository.
            Mock <IPaisRepository> paisRepositoryMock = new Mock <IPaisRepository>();

            paisRepositoryMock.Setup(mgr => mgr.Delete(It.IsAny <string>())).Returns(1);

            PaisManager paisManager = new PaisManager(paisRepositoryMock.Object, new PaisValidator(), new PagedListValidator());

            // Act.
            Action action = () => paisManager.Delete(codigoiata);

            // Assert.
            action.Should().NotThrow();
        }
Example #2
0
        public void al_solicitar_un_pais_mediante_su_codigoiata_con_longitud_distinta_de_2_debe_devolver_una_excepcion_de_tipo_ArgumentException_en_donce_el_data_contenga_la_key_CodigoIata()
        {
            // Arrange.
            string codigoiata = "X";

            // Mock del repository.
            Mock <IPaisRepository> paisRepositoryMock = new Mock <IPaisRepository>();

            paisRepositoryMock.Setup(mgr => mgr.GetByIataCode(It.IsAny <string>()));

            PaisManager paisManager = new PaisManager(paisRepositoryMock.Object, new PaisValidator(), new PagedListValidator());

            // Act.
            Action action = () => paisManager.GetByIataCode(codigoiata);

            // Assert.
            action.Should().ThrowExactly <ArgumentException>()
            .And.Data["CodigoIata"].Should().NotBeNull();
        }
Example #3
0
        public void al_solicitar_un_pais_mediante_su_codigoiata_con_valor_null_debe_devolver_una_excepción_de_tipo_ArgumentNullException_conteniendo_codigoiata_en_la_propiedad_Message()
        {
            // Arrange.
            string codigoiata = null;

            // Mock del repository.
            Mock <IPaisRepository> paisRepositoryMock = new Mock <IPaisRepository>();

            paisRepositoryMock.Setup(mgr => mgr.GetByIataCode(codigoiata));

            PaisManager paisManager = new PaisManager(paisRepositoryMock.Object, new PaisValidator(), new PagedListValidator());

            // Act.
            Action action = () => paisManager.GetByIataCode(null);

            // Assert.
            action.Should().ThrowExactly <ArgumentNullException>()
            .And.Message.Should().Contain(nameof(codigoiata));
        }
Example #4
0
        public void al_insertar_un_nuevo_pais_con_valor_null_debe_devolver_una_excepcion_de_tipo_ArgumentNullException_conteniendo_pais_en_la_propiedad_Message()
        {
            // Arrange.
            Pais pais = PaisMockGenerator.GetByCodigoIata("AR");

            // Mock del repository.
            Mock <IPaisRepository> paisRepositoryMock = new Mock <IPaisRepository>();

            paisRepositoryMock.Setup(mgr => mgr.Insert(It.IsAny <Pais>())).Returns(PaisMockGenerator.Insert(pais));

            PaisManager paisManager = new PaisManager(paisRepositoryMock.Object, new PaisValidator(), new PagedListValidator());

            // Act.
            Action action = () => paisManager.Insert(null);

            // Assert.
            action.Should().ThrowExactly <ArgumentNullException>()
            .And.Message.Should().Contain(nameof(pais));
        }
Example #5
0
        public void al_solicitar_un_pais_mediante_su_codigoiata_que_no_se_encuentre_en_el_sistema_debe_devolver_una_excepción_de_tipo_NotFoundException_en_donde_el_data_contenga_la_key_errorCode_con_valor_ERR_PAIS_NOTFOUND()
        {
            // Arrange.
            string codigoIata = "XX";

            NotFoundException nfex = new NotFoundException();

            // Mock del repository.
            Mock <IPaisRepository> paisRepositoryMock = new Mock <IPaisRepository>();

            paisRepositoryMock.Setup(mgr => mgr.GetByIataCode(It.IsAny <string>())).Throws(nfex);

            PaisManager paisManager = new PaisManager(paisRepositoryMock.Object, new PaisValidator(), new PagedListValidator());

            // Act.
            Action action = () => paisManager.GetByIataCode(codigoIata);

            // Assert.
            action.Should().ThrowExactly <NotFoundException>()
            .And.Data.Should().Contain(new DictionaryEntry("ErrorCode", ExErrorCode.ErrPaisNotFound));
        }
Example #6
0
        public void al_actualizar_un_pais_con_codigoIata_inexistente_debe_devolver_una_excepción_de_tipo_NotFoundException_en_donde_el_data_contenga_una_key_ErrorCode_con_valor_ERR_PAIS_NOTFOUND()
        {
            // Arrange.
            Pais pais = PaisMockGenerator.GetByCodigoIata("AR");

            pais.CodigoIata = "XX";

            NotFoundException nfex = new NotFoundException();

            // Mock del repository.
            Mock <IPaisRepository> paisRepositoryMock = new Mock <IPaisRepository>();

            paisRepositoryMock.Setup(mgr => mgr.Update(It.IsAny <Pais>())).Throws(nfex);

            PaisManager paisManager = new PaisManager(paisRepositoryMock.Object, new PaisValidator(), new PagedListValidator());

            // Act.
            Action action = () => paisManager.Update(pais);

            // Assert.
            action.Should().ThrowExactly <NotFoundException>()
            .And.Data.Should().Contain(new DictionaryEntry("ErrorCode", ExErrorCode.ErrPaisNotFound));
        }
Example #7
0
        public void al_actualizar_el_nombre_de_un_pais_debe_devolver_el_pais_con_el_nombre_actualizado()
        {
            // Arrange.
            string nombreOriginal    = "Argentina";
            string nombreActualizado = "Argentina se actualizó!";

            Pais pais = PaisMockGenerator.GetByCodigoIata("AR");

            pais.Nombre = nombreOriginal;

            // Mock del repository.
            Mock <IPaisRepository> paisRepositoryMock = new Mock <IPaisRepository>();

            paisRepositoryMock.Setup(mgr => mgr.Update(It.IsAny <Pais>())).Returns(PaisMockGenerator.UpdateNombre(pais, nombreActualizado));

            PaisManager paisManager = new PaisManager(paisRepositoryMock.Object, new PaisValidator(), new PagedListValidator());

            // Act.
            pais = paisManager.Update(pais);

            // Assert.
            pais.Nombre.Should().BeEquivalentTo(nombreActualizado);
        }