public async Task Returns_Persons_Record_By_Search_Term_EJjud_ON()
        {
            var persons = await _handler.Handle(new GetPersonBySearchTermQuery("luff"));

            Assert.AreEqual(1, persons.Count);
            persons.Select(m => m.Id).Should().Contain(IndividualPerson.Id);
            persons.Select(m => m.Id).Should().NotContain(JudgePerson.Id);
            persons.Select(m => m.Id).Should().NotContain(JudicialOfficeHolderPerson.Id);
        }
        public async Task Handle_Should_Not_Filters_Out_Participant_With_Discriminator_Of_Judge_And_JudicialOfficeHolder()
        {
            _configOptions.Setup(opt => opt.Value).Returns(new FeatureFlagConfiguration()
            {
                EJudFeature = false
            });
            _handler = new GetPersonBySearchTermQueryHandler(_context, _configOptions.Object);
            var persons = await _handler.Handle(new GetPersonBySearchTermQuery("luff"));

            Assert.AreEqual(3, persons.Count);
            persons.Select(m => m.Id).Should().Contain(IndividualPerson.Id);
            persons.Select(m => m.Id).Should().NotContain(JudgePerson.Id);
            persons.Select(m => m.Id).Should().Contain(JudicialOfficeHolderPerson.Id);
        }
        public async Task Returns_Persons_Record_By_Search_Term_Ejud_OFF()
        {
            _configOptions.Setup(opt => opt.Value).Returns(new FeatureFlagConfiguration()
            {
                EJudFeature = false
            });
            _handler = new GetPersonBySearchTermQueryHandler(_context, _configOptions.Object);
            var persons = await _handler.Handle(new GetPersonBySearchTermQuery("luff"));

            Assert.AreEqual(3, persons.Count);
            persons.Select(m => m.Id).Should().Contain(IndividualPerson.Id);
            persons.Select(m => m.Id).Should().Contain(JudicialOfficeHolderPerson.Id);
            persons.Select(m => m.Id).Should().NotContain(JudgePerson.Id);
        }
        public async Task Should_find_contact_by_email_case_insensitive()
        {
            var seededHearing = await Hooks.SeedVideoHearing();

            var person       = seededHearing.GetPersons().First();
            var contactEmail = person.ContactEmail;

            // Build a search term based on lower and upper case of the expected email
            var twoCharactersLowercase = contactEmail.Substring(0, 2).ToLower();
            var twoCharactersUppercase = contactEmail.Substring(2, 2).ToUpper();
            var searchTerm             = twoCharactersLowercase + twoCharactersUppercase;
            var matches = await _handler.Handle(new GetPersonBySearchTermQuery(searchTerm));

            matches.Select(m => m.Id).Should().Contain(person.Id);
        }