public async Task <GetAccountPayeSchemesResponse> Handle(GetAccountPayeSchemesQuery message)
        {
            var validationResult = await _validator.ValidateAsync(message);

            if (!validationResult.IsValid())
            {
                throw new InvalidRequestException(validationResult.ValidationDictionary);
            }

            var payeSchemes =
                (await _payeSchemesService
                 .GetPayeSchemsWithEnglishFractionForHashedAccountId(message.HashedAccountId))
                .ToList();

            return(new GetAccountPayeSchemesResponse
            {
                PayeSchemes = payeSchemes
            });
        }
        public async Task ThenIfAccountIdIsValidTheRepositoryIsCalled()
        {
            await SUT.GetPayeSchemsWithEnglishFractionForHashedAccountId(_hashedAccountId);

            _englishFractionsRepository.Verify(x => x.GetCurrentFractionForSchemes(AccountId, It.Is <IEnumerable <string> >(y => y.Single() == _payeView.Ref)), Times.Once);
        }