Beispiel #1
0
        public async Task ShouldAssignCarePlan()
        {
            var request = new CarePlanAssignmentRequest
            {
                HackneyUserId = 1,
                BrokerId      = UserConstants.DefaultApiUserGuid,
                PackageType   = PackageType.ResidentialCare,
                Notes         = "Hello world",
                CarePlanFile  = null
            };

            _fixture.OutgoingRestClient
            .Setup(c => c.GetAsync <ServiceUserInformationResponse>($"residents?mosaic_id={request.HackneyUserId}", It.IsAny <string>()))
            .ReturnsAsync(new ServiceUserInformationResponse
            {
                Residents = new List <ResidentResponse>
                {
                    TestDataHelper.CreateResidentResponse()
                }
            });

            var response = await _fixture.RestClient
                           .SubmitFormAsync <object>("api/v1/care-packages/assign", request);

            var serviceUser  = _fixture.DatabaseContext.ServiceUsers.FirstOrDefault(u => u.HackneyId == 1);
            var package      = _fixture.DatabaseContext.CarePackages.SingleOrDefault(p => p.ServiceUserId == serviceUser.Id);
            var historyItems = _fixture.DatabaseContext.CarePackageHistories.Where(h => h.CarePackageId == package.Id).ToList();

            response.Message.StatusCode.Should().Be(HttpStatusCode.OK);

            serviceUser.Should().NotBeNull();
            package.Should().NotBeNull();

            package.Status.Should().Be(PackageStatus.New);
            package.BrokerId.Should().Be(request.BrokerId);
            package.PackageType.Should().Be(request.PackageType);

            historyItems.Count.Should().Be(1);
            historyItems.First().Status.Should().Be(HistoryStatus.NewPackage);
            historyItems.First().Description.Should().Be(HistoryStatus.NewPackage.GetDisplayName());
            historyItems.First().RequestMoreInformation.Should().Be(request.Notes);
        }
 public static CarePlanAssignmentDomain ToDomain(this CarePlanAssignmentRequest input)
 {
     return(_mapper.Map <CarePlanAssignmentDomain>(input));
 }
Beispiel #3
0
        public async Task <ActionResult <Guid> > AssignCarePlan([FromForm] CarePlanAssignmentRequest request)
        {
            var result = await _assignCarePlanUseCase.ExecuteAsync(request.ToDomain());

            return(Ok(result));
        }