// --- Helpers ---

        private Mock <IMediator> GetMediator(CommitmentView commitment)
        {
            var respons = new GetCommitmentQueryResponse
            {
                Commitment = commitment
            };

            var mockMediator = new Mock <IMediator>();

            mockMediator.Setup(m => m.Send(It.IsAny <GetCommitmentQueryRequest>(), It.IsAny <CancellationToken>()))
            .Returns(Task.Factory.StartNew(() => respons));

            mockMediator.Setup(m => m.Send(It.IsAny <GetProviderAgreementQueryRequest>(), It.IsAny <CancellationToken>()))
            .Returns(Task.FromResult(new GetProviderAgreementQueryResponse {
                HasAgreement = ProviderAgreementStatus.Agreed
            }));

            mockMediator.Setup(m => m.Send(It.IsAny <GetOverlappingApprenticeshipsQueryRequest>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(() => new GetOverlappingApprenticeshipsQueryResponse
            {
                Overlaps = new List <ApprenticeshipOverlapValidationResult>()
            });

            return(mockMediator);
        }
        public override void SetUp()
        {
            _testCommitment = new CommitmentView
            {
                EditStatus      = EditStatus.ProviderOnly,
                ProviderId      = 1L,
                Apprenticeships = new List <Apprenticeship>
                {
                }
            };

            base.SetUp();
        }