public void ShouldAllowSubmissionOfNonSubmittedPackages(PackageStatus packageStatus) { _package.Status = packageStatus; var submissionInfo = new CarePackageSubmissionDomain { ApproverId = UserConstants.DefaultApiUserGuid, Notes = "Hello world" }; _useCase .Invoking(useCase => useCase.ExecuteAsync(_package.Id, submissionInfo)) .Should().NotThrow(); _dbManagerMock.Verify(mock => mock.SaveAsync(It.IsAny <string>()), Times.Once); }
public async Task ExecuteAsync(Guid packageId, CarePackageSubmissionDomain submissionInfo) { var package = await _carePackageGateway .GetPackageAsync(packageId, PackageFields.None, true) .EnsureExistsAsync($"Care package {packageId} not found"); ValidatePackage(package); package.ApproverId = submissionInfo.ApproverId; package.Status = PackageStatus.SubmittedForApproval; package.Histories.Add(new CarePackageHistory { Status = HistoryStatus.SubmittedForApproval, Description = HistoryStatus.SubmittedForApproval.GetDisplayName(), RequestMoreInformation = submissionInfo.Notes }); await _dbManager.SaveAsync(); }
public async Task ShouldUpdatePackageStatus() { var submissionInfo = new CarePackageSubmissionDomain { ApproverId = UserConstants.DefaultApiUserGuid, Notes = "Hello world" }; await _useCase.ExecuteAsync(_package.Id, submissionInfo); _package.Status.Should().Be(PackageStatus.SubmittedForApproval); _package.ApproverId.Should().Be(submissionInfo.ApproverId); _package.Histories.Should().ContainSingle(h => h.RequestMoreInformation == submissionInfo.Notes && h.Description == HistoryStatus.SubmittedForApproval.GetDisplayName() && h.Status == HistoryStatus.SubmittedForApproval); _dbManagerMock.Verify(db => db.SaveAsync(It.IsAny <string>()), Times.Once); }
public static CarePackageSubmissionRequest ToRequest(this CarePackageSubmissionDomain input) { return(_mapper.Map <CarePackageSubmissionRequest>(input)); }