Ejemplo n.º 1
0
        public async Task Should_return_list_of_PersonResponse_successfully()
        {
            var searchTermRequest = new SearchTermRequest("test");
            var persons           = new List <Person> {
                new Person("Mr", "Test", "Tester", "T Tester")
                {
                    ContactEmail = "*****@*****.**"
                },
                new Person("Mr", "Tester", "Test", "T Test")
                {
                    ContactEmail = "*****@*****.**"
                }
            };

            _queryHandlerMock
            .Setup(x => x.Handle <GetPersonBySearchTermQuery, List <Person> >(It.IsAny <GetPersonBySearchTermQuery>()))
            .ReturnsAsync(persons);

            var result = await _controller.PostPersonBySearchTerm(searchTermRequest);

            result.Should().NotBeNull();
            var objectResult = (ObjectResult)result;

            objectResult.StatusCode.Should().Be((int)HttpStatusCode.OK);
            var personResponses = (List <PersonResponse>)objectResult.Value;

            personResponses.Count.Should().Be(2);
            personResponses[0].LastName.Should().Be("Test");
            _queryHandlerMock.Verify(x => x.Handle <GetPersonBySearchTermQuery, List <Person> >(It.IsAny <GetPersonBySearchTermQuery>()), Times.Once);
        }
Ejemplo n.º 2
0
        public void GivenIHaveAGetAPersonBySearchTermRequestWithAValidSearchTerm()
        {
            var contactEmail = _context.TestData.ParticipantsResponses[0].ContactEmail;
            var searchTerm   = new SearchTermRequest(contactEmail.Substring(0, 3));

            _context.Request = _context.Post(PostPersonBySearchTerm, searchTerm);
        }
Ejemplo n.º 3
0
        public async Task <ActionResult <IList <JudgeResponse> > > PostJudgesBySearchTermAsync([FromBody] string term)
        {
            try
            {
                term = _encoder.Encode(term);
                var searchTerm = new SearchTermRequest(term);

                var personsResponse    = _bookingsApiClient.PostJudiciaryPersonBySearchTermAsync(searchTerm);
                var courtRoomsResponse = _userAccountService.GetJudgeUsers();

                await Task.WhenAll(personsResponse, courtRoomsResponse);

                var persons    = await personsResponse;
                var courtRooms = await courtRoomsResponse;

                var rooms  = courtRooms.Where(x => x.Email.ToLower().Contains(searchTerm.Term.ToLower()));
                var judges = persons.Select(JudgeResponseMapper.MapTo);

                var allJudges = rooms.Concat(judges)
                                .OrderBy(x => x.Email).Take(20).ToList();

                return(Ok(allJudges));
            }
            catch (BookingsApiException e)
            {
                if (e.StatusCode == (int)HttpStatusCode.BadRequest)
                {
                    return(BadRequest(e.Response));
                }

                throw;
            }
        }
Ejemplo n.º 4
0
        public async Task SearrchNotFoundTerm(string termbaseId, string query, string language)
        {
            var groupShareClient = Helper.GsClient;
            var request          = new SearchTermRequest(termbaseId, language, query);

            var searchedResponse = await groupShareClient.Terminology.SearchTerm(request);

            Assert.Empty(searchedResponse.Terms);
        }
        public async Task SearrchNotFoundTerm()
        {
            var groupShareClient = Helper.GsClient;
            var request          = new SearchTermRequest(Helper.TermbaseId, "German", "non-existing term");

            var searchedResponse = await groupShareClient.Terminology.SearchTerm(request);

            Assert.Empty(searchedResponse.Terms);
        }
        public async Task <IActionResult> PostPersonBySearchTerm(SearchTermRequest term)
        {
            var query      = new GetPersonBySearchTermQuery(term.Term);
            var personList = await _queryHandler.Handle <GetPersonBySearchTermQuery, List <Person> >(query);

            var mapper   = new PersonToResponseMapper();
            var response = personList.Select(x => mapper.MapPersonToResponse(x)).OrderBy(o => o.ContactEmail).ToList();

            return(Ok(response));
        }
Ejemplo n.º 7
0
        public async Task SearchTerm(string termbaseId, string query, string language)
        {
            var groupShareClient = Helper.GsClient;
            var request          = new SearchTermRequest(termbaseId, language, query);

            var searchedResponse = await groupShareClient.Terminology.SearchTerm(request);

            var searchedWord = searchedResponse.Terms.FirstOrDefault(s => s.TermText == query);

            Assert.True(searchedWord != null);
        }
Ejemplo n.º 8
0
        public void PostJudiciaryPersonBySearchTerm_Should_Return_EmptyList_When_EJudFlag_Is_False()
        {
            var searchTermRequest = new SearchTermRequest("test");

            _featureFlagsService.Setup(p => p.GetFeatureFlag(It.Is <string>(p => p == nameof(FeatureFlags.EJudFeature)))).Returns(false);
            var result = _controller.PostJudiciaryPersonBySearchTerm(searchTermRequest);

            result.Should().NotBeNull();
            var objectResult = (ObjectResult)result.Result;

            objectResult.StatusCode.Should().Be((int)HttpStatusCode.OK);
            var personResponses = (List <PersonResponse>)objectResult.Value;

            personResponses.Count.Should().Be(0);
        }
        public IHttpActionResult Get([FromUri] SearchTermRequest request)
        {
            var searchTerm = SearchTermHelper.ConvertToSearchTerm(request.SearchTerm);

            if (string.IsNullOrWhiteSpace(searchTerm))
            {
                throw new InvalidOperationException("invalid search term");
            }

            request.SearchTerm = searchTerm;

            var result = _searchByNameProcessor.Process(request);

            return(Ok(result));
        }
Ejemplo n.º 10
0
        public async Task <IActionResult> PostJudiciaryPersonBySearchTerm(SearchTermRequest term)
        {
            if (_flagsService.GetFeatureFlag(nameof(FeatureFlags.EJudFeature)))
            {
                var query      = new GetJudiciaryPersonBySearchTermQuery(term.Term);
                var personList = await _queryHandler.Handle <GetJudiciaryPersonBySearchTermQuery, List <JudiciaryPerson> >(query);

                var mapper   = new JudiciaryPersonToResponseMapper();
                var response = personList.Select(x => mapper.MapJudiciaryPersonToResponse(x)).OrderBy(o => o.Username).ToList();
                return(Ok(response));
            }
            else
            {
                return(Ok(new List <PersonResponse>()));
            }
        }
        public async Task AddTermForConceptWithCustomFields()
        {
            var groupShareClient = Helper.GsClient;
            var conceptId        = await CreateConceptWithCustomFields(Helper.TermbaseId, "TestEntry");

            var conceptRequest  = new ConceptResponse(Helper.TermbaseId, conceptId);
            var conceptResponse = await groupShareClient.Terminology.GetConcept(conceptRequest);

            var newTerm = new TermbaseTerms
            {
                Attributes   = null,
                Transactions = new List <Transactions>
                {
                    new Transactions
                    {
                        DateTime = DateTime.Now,
                        Id       = null,
                        Username = "",
                        Details  = new TransactionsDetails
                        {
                            User = "",
                            Type = "Create"
                        }
                    }
                },
                Text = "Added term with custom fields"
            };

            conceptResponse.Concept.Languages[0].Terms.Add(newTerm);

            var updatedResponse = await groupShareClient.Terminology.EditConcept(Helper.TermbaseId, conceptResponse);

            var query    = "Added term with custom fields";
            var language = conceptResponse.Concept.Languages[0].Language.Id;
            var request  = new SearchTermRequest(Helper.TermbaseId, language, query);

            var searchedResponse = await groupShareClient.Terminology.SearchTerm(request);

            var searchedWord = searchedResponse.Terms.Where(s => s.TermText == query);

            Assert.True(searchedWord != null);
            await DeleteConcept(Helper.TermbaseId, conceptId);
        }
        public async Task SearchTerm()
        {
            var groupShareClient = Helper.GsClient;
            var conceptId        = await CreateConcept(Helper.TermbaseId, "NewEntry");

            var conceptRequest  = new ConceptResponse(Helper.TermbaseId, conceptId);
            var conceptResponse = await groupShareClient.Terminology.GetConcept(conceptRequest);

            var newTerm = new TermbaseTerms
            {
                Attributes   = null,
                Transactions = new List <Transactions>
                {
                    new Transactions
                    {
                        DateTime = DateTime.Now,
                        Id       = null,
                        Username = "",
                        Details  = new TransactionsDetails
                        {
                            User = "",
                            Type = "Create"
                        }
                    }
                },
                Text = "gsKitTest"
            };

            conceptResponse.Concept.Languages[0].Terms.Add(newTerm);
            var language = conceptResponse.Concept.Languages[0].Language.Id;
            var request  = new SearchTermRequest(Helper.TermbaseId, language, "gsKitTest");

            var searchedResponse = await groupShareClient.Terminology.SearchTerm(request);

            var searchedWord = searchedResponse.Terms.Where(s => s.TermText == "gsKitTest");

            Assert.True(searchedWord != null);
            await DeleteConcept(Helper.TermbaseId, conceptId);
        }
Ejemplo n.º 13
0
        public async Task Should_return_list_of_PersonResponse_matching_serch_term_successfully()
        {
            var searchTermRequest = new SearchTermRequest("test");
            var persons           = new List <JudiciaryPerson> {
                new JudiciaryPerson(Guid.NewGuid(), "CODE1", "Mr", "Test", "Tester", "T Tester", "N", "*****@*****.**", false),
                new JudiciaryPerson(Guid.NewGuid(), "CODE", "Mr", "Tester", "Test", "T Test", "n1", "*****@*****.**", false)
            };

            _queryHandlerMock
            .Setup(x => x.Handle <GetJudiciaryPersonBySearchTermQuery, List <JudiciaryPerson> >(It.IsAny <GetJudiciaryPersonBySearchTermQuery>()))
            .ReturnsAsync(persons);

            _featureFlagsService.Setup(p => p.GetFeatureFlag(It.Is <string>(p => p == nameof(FeatureFlags.EJudFeature)))).Returns(true);
            var result = await _controller.PostJudiciaryPersonBySearchTerm(searchTermRequest);

            result.Should().NotBeNull();
            var objectResult = (ObjectResult)result;

            objectResult.StatusCode.Should().Be((int)HttpStatusCode.OK);
            var personResponses = (List <PersonResponse>)objectResult.Value;

            personResponses.Count.Should().Be(2);
        }
        public async Task <ActionResult <IList <PersonResponse> > > PostPersonBySearchTerm([FromBody] string term)
        {
            try
            {
                term = _encoder.Encode(term);
                var searchTerm = new SearchTermRequest(term);

                var personsResponse = await _bookingsApiClient.PostPersonBySearchTermAsync(searchTerm);

                personsResponse = personsResponse?.Where(p => !p.ContactEmail.Contains(_testSettings.TestUsernameStem)).ToList();

                return(Ok(personsResponse));
            }
            catch (BookingsApiException e)
            {
                if (e.StatusCode == (int)HttpStatusCode.BadRequest)
                {
                    return(BadRequest(e.Response));
                }

                throw;
            }
        }
Ejemplo n.º 15
0
        public ActionResult <SearchTermResponse> Search([FromBody] SearchTermRequest request)
        {
            var result = _termService.Search(request);

            return(result);
        }