public void ReturnsResidentInformationRecordForTheSpecifiedUPRN()
        {
            var stubbedResidentInfo = _fixture.Create <ResidentVulnerabilitiesApi.V1.Domain.ResidentInformation>();

            _mockGateway.Setup(x =>
                               x.GetResidentInformationByUPRN(1234))
            .Returns(stubbedResidentInfo);

            var response         = _classUnderTest.Execute(1234);
            var expectedResponse = new ResidentVulnerabilitiesApi.V1.Boundary.Responses.ResidentInformation
            {
                UPRN        = stubbedResidentInfo.UPRN,
                DateCreated = stubbedResidentInfo.DateCreated,
                HealthConditionOrDisability    = stubbedResidentInfo.HealthConditionOrDisability,
                ReceivesCouncilTaxReduction    = stubbedResidentInfo.ReceivesCouncilTaxReduction,
                AdultSocialCareCases           = stubbedResidentInfo.AdultSocialCareCases,
                ChildSocialCareCases           = stubbedResidentInfo.ChildSocialCareCases,
                LivingInTemporaryAccommodation = stubbedResidentInfo.LivingInTemporaryAccommodation,
                LowIncome          = stubbedResidentInfo.LowIncome,
                ChildWithSEND      = stubbedResidentInfo.ChildWithSEND,
                SingleParent       = stubbedResidentInfo.SingleParent,
                LearningDisability = stubbedResidentInfo.LearningDisability
            };

            response.Should().NotBeNull();
            response.Should().BeEquivalentTo(expectedResponse);
        }
Example #2
0
        public async Task GetResidentInformationByUPRNReturnsTheCorrectInformation()
        {
            var resident = new Fixture().Build <Resident>()
                           .Without(r => r.UPRN)
                           .With(r => r.DateCreated, new DateTime(637308732000000000)) //20-07-2020 20:20:00
                           .Create();

            var dbEntity = DatabaseContext.ResidentInformation.Add(resident);

            DatabaseContext.SaveChanges();

            var expectedResponse = new ResidentVulnerabilitiesApi.V1.Boundary.Responses.ResidentInformation
            {
                UPRN        = dbEntity.Entity.UPRN,
                DateCreated = resident.DateCreated,
                HealthConditionOrDisability    = resident.HealthConditionOrDisability,
                ReceivesCouncilTaxReduction    = resident.ReceivesCouncilTaxReduction,
                AdultSocialCareCases           = resident.AdultSocialCareCases,
                ChildSocialCareCases           = resident.ChildSocialCareCases,
                LivingInTemporaryAccommodation = resident.LivingInTemporaryAccommodation,
                LowIncome          = resident.LowIncome,
                ChildWithSEND      = resident.ChildWithSEND,
                SingleParent       = resident.SingleParent,
                LearningDisability = resident.LearningDisability
            };

            var requestUri = new Uri($"api/v1/resident-vulnerabilities/{dbEntity.Entity.UPRN}", UriKind.Relative);
            var response   = Client.GetAsync(requestUri);
            var statusCode = response.Result.StatusCode;

            statusCode.Should().Be(200);

            var content       = response.Result.Content;
            var stringContent = await content.ReadAsStringAsync().ConfigureAwait(false);

            var convertedResponse = JsonConvert.DeserializeObject
                                    <ResidentVulnerabilitiesApi.V1.Boundary.Responses.ResidentInformation>(stringContent);

            convertedResponse.Should().BeEquivalentTo(expectedResponse);
        }