public async void GetContactByCompany() { var mockRepository = new Mock <IContactRepository>(); var mapConfig = new MapperConfiguration(cfg => cfg.AddProfile(new MappingTest())); var mapper = mapConfig.CreateMapper(); CompanyFilter.ContactList request = new CompanyFilter.ContactList(); request.CompanyName = "Coelsa"; request.PageNumber = 1; int pageSize = 4; mockRepository.Setup(r => r.GetByCompanyNameAsync(request.CompanyName, request.PageNumber, 4)).Returns(GetData(request.CompanyName, request.PageNumber, pageSize)); CompanyFilter.Manejador manejador = new CompanyFilter.Manejador(mockRepository.Object, mapper); var list = await manejador.Handle(request, new System.Threading.CancellationToken()); Assert.NotNull(list); Assert.True(list.ToList().Count() == 4); Assert.True(list.ToList()[0].Company == "Coelsa"); }
public async Task <ActionResult> GetByCompany([FromQuery] CompanyFilter.ContactList data) { try { IEnumerable <ContactDto> contactDtos = await _mediator.Send(data); if (contactDtos == null || contactDtos.Count() == 0) { return(NotFound("No se obtuvieron resultados con esos parámetros de búsqueda.")); } else { return(Ok(contactDtos)); } } catch (Exception ex) { _logger.LogError(ex.ToString()); return(StatusCode((int)HttpStatusCode.InternalServerError, $"Ooops! Algo no salió bien al eliminar los datos.")); } }