public async Task GetEntity_Returns_Entity() { var service = SetupService(); var encryptionService = new MockEncryptionService(); encryptionService.DecryptMessageDelegate = buffer => Task.FromResult("1234"); var target = new CheckoutDataRepository(service, encryptionService); var shippingAddress = target.GetShippingAddress("3"); var bilingAddress = target.GetBillingAddress("2"); var paymentMethod = await target.GetPaymentMethodAsync("1"); Assert.AreEqual(shippingAddress.FirstName, "Anne"); Assert.AreEqual(bilingAddress.FirstName, "Jane"); Assert.AreEqual(paymentMethod.CardholderName, "John Doe"); }
public async Task SaveEntity_SavesEntity() { var encryptedCardNumber = false; var service = SetupService(); var encryptionService = new MockEncryptionService(); encryptionService.EncryptMessageDelegate = s => { Assert.AreEqual("12345", s); encryptedCardNumber = true; return Task.FromResult<IBuffer>(null); }; encryptionService.DecryptMessageDelegate = buffer => Task.FromResult("1111"); var target = new CheckoutDataRepository(service, encryptionService); var savedShippingAddress = target.SaveShippingAddress(new Address() { FirstName = "TestFirstName", LastName = "TestLastName" }); var savedBillingAddress = target.SaveBillingAddress(new Address() { FirstName = "TestFirstName", LastName = "TestLastName" }); var savedPaymentMethod = await target.SavePaymentMethodAsync(new PaymentMethod() { CardholderName = "TestCardholderName", CardNumber = "12345"}); Assert.IsNotNull(savedShippingAddress); Assert.IsNotNull(savedBillingAddress); Assert.IsNotNull(savedPaymentMethod); var shippingAddress = target.GetShippingAddress(savedShippingAddress.Id); var billingAddress = target.GetBillingAddress(savedBillingAddress.Id); var paymentMethod = await target.GetPaymentMethodAsync(savedPaymentMethod.Id); Assert.AreEqual(savedShippingAddress.Id, shippingAddress.Id); Assert.AreEqual(savedBillingAddress.Id, billingAddress.Id); Assert.AreEqual(savedPaymentMethod.Id, paymentMethod.Id); Assert.IsTrue(encryptedCardNumber); }
public async Task SetDefaultEntity_SetsDefaultEntity() { var service = SetupService(); var encryptionService = new MockEncryptionService(); encryptionService.DecryptMessageDelegate = buffer => Task.FromResult("1234"); var target = new CheckoutDataRepository(service, encryptionService); var defaultShippingAddress = target.GetDefaultShippingAddress(); var defaultBillingAddress = target.GetDefaultBillingAddress(); var defaultPaymentMethod = await target.GetDefaultPaymentMethodAsync(); Assert.IsNotNull(defaultShippingAddress); Assert.AreEqual(defaultShippingAddress.Id, "3"); Assert.IsNotNull(defaultBillingAddress); Assert.AreEqual(defaultBillingAddress.Id, "2"); Assert.IsNull(defaultPaymentMethod); target.SetDefaultShippingAddress(target.GetShippingAddress("2")); target.SetDefaultBillingAddress(target.GetBillingAddress("1")); target.SetDefaultPaymentMethod(await target.GetPaymentMethodAsync("1")); defaultShippingAddress = target.GetDefaultShippingAddress(); defaultBillingAddress = target.GetDefaultBillingAddress(); defaultPaymentMethod = await target.GetDefaultPaymentMethodAsync(); Assert.IsNotNull(defaultShippingAddress); Assert.AreEqual(defaultShippingAddress.Id, "2"); Assert.IsNotNull(defaultBillingAddress); Assert.AreEqual(defaultBillingAddress.Id, "1"); Assert.IsNotNull(defaultPaymentMethod); Assert.AreEqual(defaultPaymentMethod.Id, "1"); }