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); }
public void GivenIHaveAGetAPersonBySearchTermRequestWithAValidSearchTerm() { var contactEmail = _context.TestData.ParticipantsResponses[0].ContactEmail; var searchTerm = new SearchTermRequest(contactEmail.Substring(0, 3)); _context.Request = _context.Post(PostPersonBySearchTerm, searchTerm); }
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; } }
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)); }
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); }
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)); }
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); }
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; } }
public ActionResult <SearchTermResponse> Search([FromBody] SearchTermRequest request) { var result = _termService.Search(request); return(result); }