public async Task CanQueryReferralsByStatus()
        {
            var ctx = EmbcDb;

            var di = new DataInterface(ctx, Mapper);

            var registrationId = await di.CreateEvacueeRegistrationAsync(RegistrationGenerator.GenerateSelf());

            var referral1   = ReferralGenerator.Generate(ReferralType.Clothing, registrationId);
            var referral2   = ReferralGenerator.Generate(ReferralType.Clothing, registrationId);
            var referralId1 = await di.CreateReferralAsync(referral1);

            var referralId2 = await di.CreateReferralAsync(referral1);

            await di.DeactivateReferralAsync(referralId2);

            var activeReferrals = await di.GetReferralsAsync(registrationId, new SearchQueryParameters { Active = true });

            var inactiveReferrals = await di.GetReferralsAsync(registrationId, new SearchQueryParameters { Active = false });

            Assert.Single(activeReferrals.Items);
            Assert.True(activeReferrals.Items.First().Active);
            Assert.Single(activeReferrals.Items);
            Assert.False(inactiveReferrals.Items.First().Active);
        }
        public async Task CanGetAllReferralsForRegistration()
        {
            var ctx = EmbcDb;

            var di = new DataInterface(ctx, Mapper);

            var registrationId = await di.CreateEvacueeRegistrationAsync(RegistrationGenerator.GenerateSelf());

            var referrals = new[] {
                ReferralGenerator.Generate(ReferralType.Incidentals, registrationId),
                ReferralGenerator.Generate(ReferralType.Clothing, registrationId),
                ReferralGenerator.Generate(ReferralType.Lodging_Group, registrationId),
                ReferralGenerator.Generate(ReferralType.Transportation_Taxi, registrationId),
                ReferralGenerator.Generate(ReferralType.Food_Restaurant, registrationId)
            };

            foreach (var referral in referrals)
            {
                await di.CreateReferralAsync(referral);
            }

            var result = (await di.GetReferralsAsync(registrationId, new SearchQueryParameters())).Items;

            Assert.NotEmpty(result);
            Assert.Equal(referrals.Length, result.Count());
            Assert.All(referrals, r => Assert.Equal(registrationId, r.EssNumber));
        }
 public static IEnumerable <object[]> GetReferralss(string registrationId)
 {
     return(new[]     {
         new object[] { ReferralGenerator.Generate(ReferralType.Clothing, registrationId) },
         new object[] { ReferralGenerator.Generate(ReferralType.Food_Groceries, registrationId) },
         new object[] { ReferralGenerator.Generate(ReferralType.Food_Restaurant, registrationId) },
         new object[] { ReferralGenerator.Generate(ReferralType.Incidentals, registrationId) },
         new object[] { ReferralGenerator.Generate(ReferralType.Lodging_Billeting, registrationId) },
         new object[] { ReferralGenerator.Generate(ReferralType.Lodging_Group, registrationId) },
         new object[] { ReferralGenerator.Generate(ReferralType.Lodging_Hotel, registrationId) },
         new object[] { ReferralGenerator.Generate(ReferralType.Transportation_Other, registrationId) },
         new object[] { ReferralGenerator.Generate(ReferralType.Transportation_Taxi, registrationId) }
     });
 }
Exemple #4
0
        public async Task CanDeactivateReferral()
        {
            var registrationId = await di.CreateEvacueeRegistrationAsync(RegistrationGenerator.GenerateSelf());

            var referralId = await di.CreateReferralAsync(ReferralGenerator.Generate(ReferralType.Clothing, registrationId));

            var result = await di.DeactivateReferralAsync(referralId);

            Assert.True(result);

            var referral = await di.GetReferralAsync(referralId);

            Assert.False(referral.Active);
        }
Exemple #5
0
        public async Task CanIgnoreExcessiveProperties()
        {
            var registrationId = await di.CreateEvacueeRegistrationAsync(RegistrationGenerator.GenerateSelf());

            var referral = ReferralGenerator.GenerateWithExcessiveProperties(registrationId);

            Assert.NotNull(referral.FromAddress);
            Assert.NotNull(referral.ToAddress);

            var referralId = await di.CreateReferralAsync(referral);

            var result = await di.GetReferralAsync(referralId);

            Assert.Null(result.FromAddress);
            Assert.Null(result.ToAddress);
        }
        public async Task CanGetReferralsInOrder()
        {
            var ctx = EmbcDb;

            var di = new DataInterface(ctx, Mapper);

            var registrationId = await di.CreateEvacueeRegistrationAsync(RegistrationGenerator.GenerateSelf());

            var referrals = new[] {
                ReferralGenerator.Generate(ReferralType.Incidentals, registrationId),
                ReferralGenerator.Generate(ReferralType.Incidentals, registrationId),
                ReferralGenerator.Generate(ReferralType.Clothing, registrationId),
                ReferralGenerator.Generate(ReferralType.Clothing, registrationId),
                ReferralGenerator.Generate(ReferralType.Lodging_Group, registrationId),
                ReferralGenerator.Generate(ReferralType.Lodging_Hotel, registrationId),
                ReferralGenerator.Generate(ReferralType.Transportation_Taxi, registrationId),
                ReferralGenerator.Generate(ReferralType.Food_Restaurant, registrationId),
                ReferralGenerator.Generate(ReferralType.Food_Groceries, registrationId)
            };

            int days = 0;

            foreach (var referral in referrals)
            {
                referral.ValidDates.From = referral.ValidDates.From.AddDays(days);
                referral.ValidDates.To   = referral.ValidDates.To.AddDays(days);
                days++;
            }
            var referralTypeOrder = new List <string> {
                "FOOD", "LODGING", "CLOTHING", "TRANSPORTATION", "INCIDENTALS"
            };
            var expectedReferralsOrder = referrals
                                         .OrderBy(r => referralTypeOrder.IndexOf(r.Type.ToUpperInvariant()))
                                         .ThenByDescending(r => r.ValidDates.From)
                                         .Select(r => (r.Type.ToUpperInvariant(), r.ValidDates.From))
                                         .ToArray();

            foreach (var referral in referrals)
            {
                await di.CreateReferralAsync(referral);
            }

            var result = (await di.GetReferralsAsync(registrationId, new SearchQueryParameters())).Items;

            Assert.Equal(expectedReferralsOrder, result.Select(r => (r.Type, r.ValidFrom)).ToArray());
        }
Exemple #7
0
        public async Task CanMapToReferralListItem()
        {
            var registrationId = await di.CreateEvacueeRegistrationAsync(RegistrationGenerator.GenerateSelf());

            var referralId = await di.CreateReferralAsync(ReferralGenerator.Generate(ReferralType.Clothing, registrationId));

            var referral = await di.GetReferralAsync(referralId);

            var item = referral.ToListItem();

            Assert.Equal(referral.Id, item.ReferralId);
            Assert.StartsWith("D", item.ReferralId);
            Assert.Equal(referral.SubType, item.SubType);
            Assert.Equal(referral.Type, item.Type);
            Assert.Equal(referral.ValidDates.From, item.ValidFrom);
            Assert.Equal(referral.ValidDates.To, item.ValidTo);
            Assert.Equal(referral.Supplier.Name, item.Supplier.Name);
        }