public async Task <ISearchDetailsResult> SearchAsync(string search) { _logger.LogDebug($"Outgoing search request, term: '{search}'."); search = search.RemoveReservedUriCharacters(); var uri = new Uri($"recipients/search/{Uri.EscapeUriString(search)}", UriKind.Relative); if (search.Length < MinimumSearchLength) { var emptyResult = new SearchDetailsResult { PersonDetails = new List <SearchDetails>() }; var taskSource = new TaskCompletionSource <ISearchDetailsResult>(); taskSource.SetResult(emptyResult); return(await taskSource.Task.ConfigureAwait(false)); } var searchDetailsResultDataTransferObject = await RequestHelper.Get <recipients>(uri).ConfigureAwait(false); var searchDetailsResult = DataTransferObjectConverter.FromDataTransferObject(searchDetailsResultDataTransferObject); _logger.LogDebug($"Response received for search with term '{search}' retrieved."); return(searchDetailsResult); }
public static SearchDetailsResult GetSearchDetailsResult() { var searchDetailsResult = new SearchDetailsResult {PersonDetails = new List<SearchDetails>()}; var searchDetails = new SearchDetails { DigipostAddress = "testulf#123", FirstName = "testulf", MiddleName = "the king", LastName = "testesen", MobileNumber = "12312312", OrganizationName = "123456", SearchDetailsAddress = new SearchDetailsAddress { AdditionalAddressLine = "Testveien 1", City = "Andeby", HouseLetter = "1", HouseNumber = "1", Street = "Testveien", ZipCode = "1212" } }; searchDetailsResult.PersonDetails.Add(searchDetails); return searchDetailsResult; }
private static SearchController SearchControllerWithMockedDigipostServiceAndSessionState(string searchString, SearchDetailsResult searchDetailsResult) { var digipostService = new Mock<DigipostService>(); digipostService.Setup(x => x.Search(searchString)).ReturnsAsync(searchDetailsResult); var controller = new SearchController(digipostService.Object); var context = new Mock<HttpContextBase>(); var session = new Mock<HttpSessionStateBase>(); context.Setup(x => x.Session).Returns(session.Object); var requestContext = new RequestContext(context.Object, new RouteData()); controller.ControllerContext = new ControllerContext(requestContext, controller); return controller; }
public void SearchResult() { //Arrange var source = new recipients { recipient = new[] { new recipient { firstname = "Stian Jarand", middlename = "Jani", lastname = "Larsen", digipostaddress = "Stian.Jani.Larsen#22DB", mobilenumber = "12345678", organisationname = "Organisatorisk Landsforbund", organisationnumber = "1234567689", address = new[] { new address { street = "Bakkeveien", housenumber = "3", houseletter = "C", additionaladdressline = "Underetasjen", zipcode = "3453", city = "Konjakken" }, new address { street = "Komleveien", housenumber = "33", zipcode = "3453", city = "Konjakken" } } }, new recipient { firstname = "Bentoni Jarandsen", lastname = "Larsen", mobilenumber = "02345638", digipostaddress = "Bentoni.Jarandsen.Larsen#KG33", address = new[] { new address { street = "Mudleveien", housenumber = "45", zipcode = "4046", city = "Hafrsfjell" } } } } }; var recipient0 = source.recipient.ElementAt(0); var recipient1 = source.recipient.ElementAt(1); var expected = new SearchDetailsResult { PersonDetails = new List <SearchDetails> { new SearchDetails { FirstName = recipient0.firstname, MiddleName = recipient0.middlename, LastName = recipient0.lastname, MobileNumber = recipient0.mobilenumber, OrganizationName = recipient0.organisationname, OrganizationNumber = recipient0.organisationnumber, DigipostAddress = recipient0.digipostaddress, SearchDetailsAddress = new List <SearchDetailsAddress> { new SearchDetailsAddress { Street = recipient0.address[0].street, HouseNumber = recipient0.address[0].housenumber, HouseLetter = recipient0.address[0].houseletter, AdditionalAddressLine = recipient0.address[0].additionaladdressline, PostalCode = recipient0.address[0].zipcode, City = recipient0.address[0].city }, new SearchDetailsAddress { Street = recipient0.address[1].street, HouseNumber = recipient0.address[1].housenumber, HouseLetter = recipient0.address[1].houseletter, AdditionalAddressLine = recipient0.address[1].additionaladdressline, PostalCode = recipient0.address[1].zipcode, City = recipient0.address[1].city } } }, new SearchDetails { FirstName = recipient1.firstname, MiddleName = recipient1.middlename, LastName = recipient1.lastname, MobileNumber = recipient1.mobilenumber, OrganizationName = recipient1.organisationname, OrganizationNumber = recipient1.organisationnumber, DigipostAddress = recipient1.digipostaddress, SearchDetailsAddress = new List <SearchDetailsAddress> { new SearchDetailsAddress { Street = recipient1.address[0].street, HouseNumber = recipient1.address[0].housenumber, HouseLetter = recipient1.address[0].houseletter, AdditionalAddressLine = recipient1.address[0].additionaladdressline, PostalCode = recipient1.address[0].zipcode, City = recipient1.address[0].city } } } } }; var actual = DataTransferObjectConverter.FromDataTransferObject(source); //Assert Comparator.AssertEqual(expected, actual); }