public async Task ShouldChangePackageStatus(string endpoint, PackageStatus packageStatus, HistoryStatus historyStatus) { var package = packageStatus == PackageStatus.Approved ? _generator.CreateCarePackage(status: PackageStatus.SubmittedForApproval) : _generator.CreateCarePackage(); var request = new CarePackageChangeStatusRequest { Notes = "Test" }; var response = await _fixture.RestClient .PostAsync <CarePackagePlainResponse>($"api/v1/care-packages/{package.Id}/{endpoint}", request); package = _fixture.DatabaseContext.CarePackages .FirstOrDefault(p => p.Id == package.Id); var carePackageHistory = _fixture.DatabaseContext.CarePackageHistories .FirstOrDefault(h => h.CarePackageId == package.Id); response.Message.StatusCode.Should().Be(HttpStatusCode.OK); package?.Should().NotBeNull(); package?.Status.Should().Be(packageStatus); carePackageHistory?.Should().NotBeNull(); carePackageHistory?.Description.Should().Be(historyStatus.GetDisplayName()); carePackageHistory?.RequestMoreInformation.Should().Be(request.Notes); carePackageHistory?.Status.Should().Be(historyStatus); }
public async Task <ActionResult> DeclinePackage(Guid carePackageId, CarePackageChangeStatusRequest request) { await _declineCarePackageUseCase.ExecuteAsync(carePackageId, request.Notes); return(Ok()); }