public void al_solicitar_la_pagina_2_de_una_lista_de_10_paises_con_paginacion_2_debe_devolver_una_lista_paginada_con_2_elementos_con_codigoIata_AF_y_AG() { // Arrange. PagedList <Pais> paisPagedList; int cantPaises = 10; int pageIndex = 2; int pageSize = 2; // Mock del repository. Mock <IPaisRepository> paisRepositoryMock = new Mock <IPaisRepository>(); paisRepositoryMock.Setup(mgr => mgr.Get( It.IsAny <string>(), It.IsInRange(1, int.MaxValue, Range.Inclusive), It.IsInRange(1, cantPaises, Range.Inclusive))) .Returns(PaisMockGenerator.GetPageFromList(cantPaises, pageIndex, pageSize)); PaisManager paisManager = new PaisManager(paisRepositoryMock.Object, new PaisValidator(), new PagedListValidator()); // Act. paisPagedList = paisManager.Get(string.Empty, pageIndex, pageSize); // Assert. paisPagedList.Should().BeOfType <PagedList <Pais> >(); paisPagedList.Items[0].CodigoIata.Should().Be("AF"); paisPagedList.Items[1].CodigoIata.Should().Be("AG"); }
public void al_insertar_un_nuevo_pais_con_datos_válidos_debe_devolver_un_pais_con_el_mismo_codigoiata_enviado() { // 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. pais = paisManager.Insert(pais); // Assert. pais.CodigoIata.Should().BeEquivalentTo("AR"); }
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)); }
public void al_solicitar_un_pais_mediante_su_codigoiata_debe_devolver_un_pais() { // Arrange. string codigoiata = "AR"; Pais pais = PaisMockGenerator.GetByCodigoIata(codigoiata); // Mock del repository. Mock <IPaisRepository> paisRepositoryMock = new Mock <IPaisRepository>(); paisRepositoryMock.Setup(mgr => mgr.GetByIataCode(It.IsAny <string>())).Returns(pais); PaisManager paisManager = new PaisManager(paisRepositoryMock.Object, new PaisValidator(), new PagedListValidator()); // Act. var ret = paisManager.GetByIataCode(codigoiata); // Assert. ret.Should().BeOfType <Pais>(); }
public void al_insertar_un_nuevo_pais_y_se_produzca_una_excepcion_no_controlada_el_data_de_la_excepción_debe_contener_la_key_Pais() { // Arrange. Pais pais = PaisMockGenerator.GetByCodigoIata("AR"); Exception ex = new Exception(); // Mock del repository. Mock <IPaisRepository> paisRepositoryMock = new Mock <IPaisRepository>(); paisRepositoryMock.Setup(mgr => mgr.Insert(It.IsAny <Pais>())).Throws(ex); PaisManager paisManager = new PaisManager(paisRepositoryMock.Object, new PaisValidator(), new PagedListValidator()); // Act. Action action = () => paisManager.Insert(pais); // Assert. action.Should().ThrowExactly <Exception>() .And.Data["Pais"].Should().NotBeNull(); }
public void al_insertar_un_nuevo_pais_con_codigoIata_existente_debe_devolver_una_excepción_UniqueKeyViolationException_en_donde_el_data_contenga_una_key_ErrorCode_con_valor_ERR_PAIS_IATACODEEXIST() { // Arrange. Pais pais = PaisMockGenerator.GetByCodigoIata("AR"); UniqueKeyViolationException ukvex = new UniqueKeyViolationException("xxx PRIMARY xxx."); // Mock del repository. Mock <IPaisRepository> paisRepositoryMock = new Mock <IPaisRepository>(); paisRepositoryMock.Setup(mgr => mgr.Insert(It.IsAny <Pais>())).Throws(ukvex); PaisManager paisManager = new PaisManager(paisRepositoryMock.Object, new PaisValidator(), new PagedListValidator()); // Act. Action action = () => paisManager.Insert(pais); // Assert. pais.CodigoIata.Should().BeEquivalentTo("AR"); action.Should().ThrowExactly <UniqueKeyViolationException>() .And.Data.Should().Contain(new DictionaryEntry("ErrorCode", ExErrorCode.ErrPaisIataCodeExist)); }
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)); }
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); }