Exemplo n.º 1
0
        public void IfPersonWithTheIdProvidedDoesNotExistThrowsNotFoundException()
        {
            var nonExistingPersonId = _faker.Random.Int();

            var mashReferral = MashReferralHelper.SaveMashReferralToDatabase(DatabaseContext, "CONTACT");
            var mashResident = MashResidentHelper.SaveMashResidentToDatabase(DatabaseContext, mashReferral.Id);

            var request = TestHelpers.CreateMashResidentUpdateRequest(nonExistingPersonId);

            Action act = () => _mashReferralGateway.UpdateMashResident(request, mashResident.Id);

            act.Should().Throw <PersonNotFoundException>()
            .WithMessage($"Person with id {nonExistingPersonId} not found");
        }
Exemplo n.º 2
0
        public void WhenMashResidentAndMatchingPersonExistUpdatesSocialCareIdValueOnMashResident()
        {
            var personMatch = TestHelpers.CreatePerson();

            DatabaseContext.Persons.Add(personMatch);
            DatabaseContext.SaveChanges();

            var mashReferral = MashReferralHelper.SaveMashReferralToDatabase(DatabaseContext, "CONTACT");
            var mashResident = MashResidentHelper.SaveMashResidentToDatabase(DatabaseContext, mashReferral.Id, null);

            mashResident.SocialCareId.Should().BeNull();

            var request = TestHelpers.CreateMashResidentUpdateRequest(personMatch.Id);

            var response = _mashReferralGateway.UpdateMashResident(request, mashResident.Id);

            response.Should().BeEquivalentTo(mashResident.ToDomain());
            response.SocialCareId.Should().Be(personMatch.Id);
        }
Exemplo n.º 3
0
        public void WhenMashResidentWithLinkedPersonExistAndUpdateTypeIsUnLinkPersonUpdatesSocialCareIdValueOnMashResident()
        {
            var personMatch = TestHelpers.CreatePerson();

            DatabaseContext.Persons.Add(personMatch);
            DatabaseContext.SaveChanges();

            var mashReferral = MashReferralHelper.SaveMashReferralToDatabase(DatabaseContext, "CONTACT");
            var mashResident = MashResidentHelper.SaveMashResidentToDatabase(DatabaseContext, mashReferral.Id, personMatch.Id);

            mashResident.SocialCareId.Should().NotBeNull();

            var request = TestHelpers.CreateMashResidentUpdateRequest(personMatch.Id, updateType: "UNLINK-PERSON");

            var response = _mashReferralGateway.UpdateMashResident(request, mashResident.Id);

            response.Should().BeEquivalentTo(mashResident.ToDomain());
            response.SocialCareId.Should().BeNull();
        }
        public void GetReferralUsingIdReturnsDomainMashReferral()
        {
            const long referralId = 1L;
            var        referral   = MashReferralHelper.SaveMashReferralToDatabase(DatabaseContext, mashReferralId: referralId);

            for (var i = 0; i < 8; i++)
            {
                MashResidentHelper.SaveMashResidentToDatabase(DatabaseContext, referralId);
            }

            var response = _mashReferralGateway.GetReferralUsingId(referral.Id);

            response.Should().BeEquivalentTo(referral.ToDomain(),
                                             options =>
            {
                options.Using <DateTime>(ctx => ctx.Subject.Should().BeCloseTo(ctx.Expectation, 1000)).WhenTypeIs <DateTime>();
                return(options);
            });
        }