Пример #1
0
        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;
 }
Пример #4
0
            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);
            }