public void TestGetContactDonorForCheck()
        {
            const string encryptedAccountNumber = "P/H+3ccB0ZssORkd+YyJzA==";
            const string encryptedRoutingNumber = "TUbiKZ/Vw1l6uyGCYIIUMg==";

            var checkAccount = new CheckAccount
            {
                AccountNumber = encryptedAccountNumber,
                RoutingNumber = encryptedRoutingNumber
            };

            var donorDetail = new EZScanDonorDetails
            {
                DisplayName = "Peyton Manning",
                Address = new PostalAddress()
                {
                    Line1 = "1 Superbowl Way",
                    Line2 = "Suite 1000",
                    City = "Denver",
                    State = "CO",
                    PostalCode = "11111-2222"
                  }
            };

            _checkScannerService.Setup(mocked => mocked.GetContactDonorForCheck(encryptedAccountNumber, encryptedRoutingNumber)).Returns(donorDetail);

            var result = _fixture.GetDonorForCheck(checkAccount);
            _checkScannerService.VerifyAll();
            
            Assert.NotNull(result);
       
            Assert.IsInstanceOf<OkNegotiatedContentResult<EZScanDonorDetails>>(result);
            var okResult = (OkNegotiatedContentResult<EZScanDonorDetails>)result;
            Assert.IsNotNull(okResult.Content);
            Assert.AreSame(donorDetail, okResult.Content);
        }
        public void TestGetContactDonorForCheck()
        {
            const string encryptedKey = "disCv2kF/8HlRCWeTqolok1G4imf1cNZershgmCCFDI=";
            const string addr1 = "12 Scenic Dr";
            const string addr2 = "Penthouse Suite";
            const string city = "Honolulu";
            const string state = "HI";
            const string zip = "68168-1618";
            const string displayName = "Vacationing Vera";
            const int donorId = 123456789;
            const string decrypAcct = "6015268542";
            const string decryptRout = "042000314";
            const string accountNumber = "P/H+3ccB0ZssORkd+YyJzA==";
            const string routingNumber = "TUbiKZ/Vw1l6uyGCYIIUMg==";

            var check = new CheckAccount
            {
                AccountNumber = accountNumber,
                RoutingNumber = routingNumber
            };

            var contactDonor = new ContactDonor
            {
                DonorId = donorId,
                Details = new ContactDetails
             {
                DisplayName = displayName,
                Address = new PostalAddress()
                {
                    Line1 = addr1,
                    Line2 = addr2,
                    City = city,
                    State = state,
                    PostalCode = zip
                }
              }
            };

            _donorService.Setup(mocked => mocked.GetContactDonorForCheckAccount(encryptedKey)).Returns(contactDonor);
            _mpDonorService.Setup(mocked => mocked.DecryptCheckValue(accountNumber)).Returns(decrypAcct);
            _mpDonorService.Setup(mocked => mocked.DecryptCheckValue(routingNumber)).Returns(decryptRout);
            _mpDonorService.Setup(mocked => mocked.CreateHashedAccountAndRoutingNumber(decrypAcct, decryptRout)).Returns(encryptedKey);
        
            var result = _fixture.GetContactDonorForCheck(accountNumber, routingNumber);

            _donorService.VerifyAll();
            Assert.IsNotNull(contactDonor);
            Assert.AreEqual(result.DisplayName, contactDonor.Details.DisplayName);
            Assert.AreEqual(result.Address, contactDonor.Details.Address);
        }