예제 #1
0
        public async Task GetAll_All_EvacueePropertiesAreMapped()
        {
            var fromCommunity = await GetRandomSeededCommunity();

            var toCommunity = await GetRandomSeededCommunity();

            var incidentTaskId = await SeedIncident(fromCommunity.Id);

            var registrationId = await di.CreateEvacueeRegistrationAsync(RegistrationGenerator.GenerateCompleted(incidentTaskId, toCommunity.Id));

            var registration = await di.GetEvacueeRegistrationAsync(registrationId);

            var result = await di.GetEvacueesPaginatedAsync(new EvacueeSearchQueryParameters());

            Assert.Equal(registration.HeadOfHousehold.FamilyMembers.Count(), result.Items.Count(e => !e.IsHeadOfHousehold));
            Assert.Equal(1, result.Items.Count(e => e.IsHeadOfHousehold));
            Assert.All(result.Items, e =>
            {
                Assert.Equal(registration.IncidentTask.TaskNumber, e.IncidentTaskNumber);
                Assert.Equal(registration.Id, e.RegistrationId);
                Assert.Equal(registration.RestrictedAccess, e.RestrictedAccess);
                Assert.Equal(registration.RegistrationCompletionDate, e.RegistrationCompletionDate);
                Assert.Equal(registration.IncidentTask.Community.Name, e.EvacuatedFrom);
                Assert.Equal(registration.HostCommunity.Name, e.EvacuatedTo);
                Assert.True(e.IsFinalized);
                Assert.False(e.HasReferrals);
            });
        }
예제 #2
0
        protected async Task <string[]> SeedRegistrations(string taskId, string hostCommunity, int numberOfRegistrations)
        {
            var di = Services.ServiceProvider.GetService <IDataInterface>();

            var registrations = new List <string>();

            for (int i = 0; i < numberOfRegistrations; i++)
            {
                var registration = RegistrationGenerator.GenerateCompleted(taskId, hostCommunity);
                registrations.Add(await di.CreateEvacueeRegistrationAsync(registration));
            }

            return(registrations.ToArray());
        }
예제 #3
0
        public async Task GetAll_AdvancedSearch_MatchedElementReturned(EvacueeSearchQueryParameters search, int expectedNumberOfEvacuees)
        {
            var fromCommunity = await GetRandomSeededCommunity();

            var toCommunity = await GetRandomSeededCommunity();

            var incidentTaskId = await SeedIncident(fromCommunity.Id);

            var registrationId = await di.CreateEvacueeRegistrationAsync(RegistrationGenerator.GenerateCompleted(incidentTaskId, toCommunity.Id));

            var registration = await di.GetEvacueeRegistrationAsync(registrationId);

            var lastName = registration.HeadOfHousehold.FamilyMembers.First().LastName;

            var result = await di.GetEvacueesPaginatedAsync(search);

            Assert.Equal(expectedNumberOfEvacuees, result.Items.Count());
        }
예제 #4
0
        public async Task GetAll_BasicSearchByIncidentTaskNumber_MatchedElementReturned()
        {
            var fromCommunity = await GetRandomSeededCommunity();

            var toCommunity = await GetRandomSeededCommunity();

            var incidentTaskId = await SeedIncident(fromCommunity.Id);

            var registrationId = await di.CreateEvacueeRegistrationAsync(RegistrationGenerator.GenerateCompleted(incidentTaskId, toCommunity.Id));

            var registration = await di.GetEvacueeRegistrationAsync(registrationId);

            var result = await di.GetEvacueesPaginatedAsync(new EvacueeSearchQueryParameters()
            {
                Query = incidentTaskId
            });

            Assert.All(result.Items, e => Assert.Equal(incidentTaskId, e.IncidentTaskNumber));
        }
예제 #5
0
        public async Task GetAll_BasicSearchByDifferentName_NoMatchedElementReturned()
        {
            var fromCommunity = await GetRandomSeededCommunity();

            var toCommunity = await GetRandomSeededCommunity();

            var incidentTaskId = await SeedIncident(fromCommunity.Id);

            var registrationId = await di.CreateEvacueeRegistrationAsync(RegistrationGenerator.GenerateCompleted(incidentTaskId, toCommunity.Id));

            var registration = await di.GetEvacueeRegistrationAsync(registrationId);

            var lastName = registration.HeadOfHousehold.LastName;

            var result = await di.GetEvacueesPaginatedAsync(new EvacueeSearchQueryParameters()
            {
                Query = "1234"
            });

            Assert.Empty(result.Items);
        }
예제 #6
0
        public async Task GetAll_BasicSearchByHOHLastNamePartial_MatchedElementReturned()
        {
            var fromCommunity = await GetRandomSeededCommunity();

            var toCommunity = await GetRandomSeededCommunity();

            var incidentTaskId = await SeedIncident(fromCommunity.Id);

            var registrationId = await di.CreateEvacueeRegistrationAsync(RegistrationGenerator.GenerateCompleted(incidentTaskId, toCommunity.Id));

            var registration = await di.GetEvacueeRegistrationAsync(registrationId);

            var lastName = registration.HeadOfHousehold.LastName.Substring(1, 3);

            var result = await di.GetEvacueesPaginatedAsync(new EvacueeSearchQueryParameters()
            {
                Query = lastName
            });

            Assert.All(result.Items, e => Assert.Contains(lastName, e.LastName));
        }
예제 #7
0
        public async Task GetAll_BasicSearchByHostCommunity_MatchedElementReturned()
        {
            var fromCommunity = await GetRandomSeededCommunity();

            var toCommunity = await GetRandomSeededCommunity();

            var incidentTaskId = await SeedIncident(fromCommunity.Id);

            var registrationId = await di.CreateEvacueeRegistrationAsync(RegistrationGenerator.GenerateCompleted(incidentTaskId, toCommunity.Id));

            var registration = await di.GetEvacueeRegistrationAsync(registrationId);

            var hostCommunityName = toCommunity.Name;

            var result = await di.GetEvacueesPaginatedAsync(new EvacueeSearchQueryParameters()
            {
                Query = hostCommunityName
            });

            Assert.All(result.Items, e => Assert.Contains(hostCommunityName, e.EvacuatedTo));
        }
예제 #8
0
        public async Task CanMapToListItem()
        {
            var ctx = EmbcDb;
            var di  = new DataInterface(ctx, Mapper);

            var fromCommunity = (await di.GetCommunitiesAsync()).First();
            var toCommunity   = (await di.GetCommunitiesAsync()).Last();

            var incidentTask = await di.CreateIncidentTaskAsync(new Gov.Jag.Embc.Public.ViewModels.IncidentTask()
            {
                Active    = true,
                Community = new Gov.Jag.Embc.Public.ViewModels.Community {
                    Id = fromCommunity.Id
                }
            });

            var registrationId = await di.CreateEvacueeRegistrationAsync(RegistrationGenerator.GenerateCompleted(incidentTask.Id, toCommunity.Id));

            var registration = await di.GetEvacueeRegistrationAsync(registrationId);

            var result = await di.GetEvacueesAsync(new SearchQueryParameters());

            Assert.Equal(registration.HeadOfHousehold.FamilyMembers.Count(), result.Items.Count(e => !e.IsHeadOfHousehold));
            Assert.Equal(1, result.Items.Count(e => e.IsHeadOfHousehold));
            Assert.All(result.Items, e =>
            {
                Assert.Equal(registration.IncidentTask.TaskNumber, e.IncidentTaskNumber);
                Assert.Equal(registration.Id, e.RegistrationId);
                Assert.Equal(registration.RestrictedAccess, e.RestrictedAccess);
                Assert.Equal(registration.RegistrationCompletionDate, e.RegistrationCompletionDate);
                Assert.Equal(registration.IncidentTask.Community.Name, e.EvacuatedFrom);
                Assert.Equal(registration.HostCommunity.Name, e.EvacuatedTo);
                Assert.True(e.IsFinalized);
                Assert.False(e.HasReferrals);
            });
        }