Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        public async Task <ActionResult> DeclinePackage(Guid carePackageId, CarePackageChangeStatusRequest request)
        {
            await _declineCarePackageUseCase.ExecuteAsync(carePackageId, request.Notes);

            return(Ok());
        }