public static RequestStatus GetStatus(this CommitmentListItem commitment)
 {
     return(StatusCalculator.GetStatus(
                commitment.EditStatus,
                commitment.ApprenticeshipCount,
                commitment.LastAction,
                commitment.AgreementStatus,
                commitment.TransferSenderId,
                commitment.TransferApprovalStatus));
 }
Exemple #2
0
        public void CommitmentIsTransferFundedAndStatusesAreInvalid(TransferApprovalStatus transferApprovalStatus, EditStatus editStatus)
        {
            var commitment = new CommitmentListItem
            {
                AgreementStatus        = AgreementStatus.NotAgreed,
                ApprenticeshipCount    = 1,
                LastAction             = LastAction.None,
                EditStatus             = editStatus,
                TransferSenderId       = 1,
                TransferApprovalStatus = transferApprovalStatus
            };

            Assert.Throws <Exception>(() => commitment.GetStatus());
        }
        public void ThenTheRequestHasTheCorrectStatus(LastAction lastAction, AgreementStatus agreementStatus, RequestStatus expectRequestStatus)
        {
            var commitment = new CommitmentListItem
            {
                LastAction          = lastAction,
                AgreementStatus     = agreementStatus,
                EditStatus          = EditStatus.ProviderOnly,
                ApprenticeshipCount = 2
            };

            //Act
            var status = commitment.GetStatus();

            //Assert
            Assert.AreEqual(expectRequestStatus, status);
        }
Exemple #4
0
        public void CommitmentIsTransferFundedAndInValidState(RequestStatus expectedResult, EditStatus editStatus, TransferApprovalStatus transferApprovalStatus)
        {
            var commitment = new CommitmentListItem
            {
                AgreementStatus        = AgreementStatus.NotAgreed,
                ApprenticeshipCount    = 1,
                LastAction             = LastAction.None,
                EditStatus             = editStatus,
                TransferSenderId       = 1,
                TransferApprovalStatus = transferApprovalStatus
            };

            var status = commitment.GetStatus();

            Assert.AreEqual(expectedResult, status);
        }
Exemple #5
0
        public void WhenThereAreNoApprentices(RequestStatus expectedResult, LastAction lastAction)
        {
            var commitment = new CommitmentListItem
            {
                LastAction = lastAction,

                EditStatus             = EditStatus.Both,
                ApprenticeshipCount    = 2,
                AgreementStatus        = AgreementStatus.BothAgreed,
                ProviderLastUpdateInfo = new LastUpdateInfo()
            };

            var status = commitment.GetStatus();

            status.Should().Be(expectedResult);
        }
        public async Task <CommitmentListItemViewModel> MapToCommitmentListItemViewModelAsync(CommitmentListItem commitment, Func <CommitmentListItem, Task <string> > latestMessageFunc)
        {
            var messageTask = latestMessageFunc.Invoke(commitment);

            return(new CommitmentListItemViewModel
            {
                HashedCommitmentId = _hashingService.HashValue(commitment.Id),
                Name = commitment.Reference,
                LegalEntityName = commitment.LegalEntityName,
                ProviderName = commitment.ProviderName,
                Status = _statusCalculator.GetStatus(commitment.EditStatus, commitment.ApprenticeshipCount, commitment.LastAction, commitment.AgreementStatus),
                ShowViewLink = commitment.EditStatus == EditStatus.EmployerOnly,
                LatestMessage = await messageTask
            });
        }