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)); }
public async Task <ActionResult <Guid> > AssignCarePlan([FromForm] CarePlanAssignmentRequest request) { var result = await _assignCarePlanUseCase.ExecuteAsync(request.ToDomain()); return(Ok(result)); }