public async Task IfAnExpressionOfInterestAgreementAlreadyExistsThenAnExpressionOfInterestAgreementIsCreated()
        {
            EmployerAgreementRepository.Setup(x => x.GetAccountAgreements(AccountId)).ReturnsAsync(
                new List <EmployerAgreement>
            {
                new EmployerAgreement {
                    Template = new AgreementTemplate {
                        AgreementType = AgreementType.NonLevyExpressionOfInterest
                    }
                }
            });

            await CommandHandler.Handle(Command);

            AccountRepository.Verify(x =>
                                     x.CreateLegalEntityWithAgreement(It.Is <CreateLegalEntityWithAgreementParams>(y =>
                                                                                                                   y.AgreementType == AgreementType.NonLevyExpressionOfInterest)));
        }
        public async Task ThenACombinedAgreementIsCreated()
        {
            var accountId = 12345;

            HashingService.Setup(x => x.DecodeValue(Command.HashedAccountId)).Returns(accountId);
            EmployerAgreementRepository.Setup(x => x.GetAccountAgreements(accountId)).ReturnsAsync(
                new List <EmployerAgreement>
            {
                new EmployerAgreement {
                    Template = new AgreementTemplate {
                        AgreementType = AgreementType.Levy
                    }
                }
            });

            await CommandHandler.Handle(Command);

            AccountRepository.Verify(x =>
                                     x.CreateLegalEntityWithAgreement(It.Is <CreateLegalEntityWithAgreementParams>(y =>
                                                                                                                   y.AgreementType == AgreementType.Combined)));
        }