private static Services CreateServices() { var services = new Services { PaymentGatewayMock = new Mock <IPaymentGateway>(), PaymentRepositoryMock = new Mock <IPaymentRepository>(), CreditCardRepositoryMock = new Mock <IRepository <CreditCard> >(), PaymentScheduleRepositoryMock = new Mock <IPaymentScheduleRepository>(), PaymentChargeRepositoryMock = new Mock <IPaymentChargeRepository>() }; services.PaymentManager = new PaymentManager( services.PaymentGatewayMock.Object, services.PaymentRepositoryMock.Object, services.CreditCardRepositoryMock.Object, services.PaymentScheduleRepositoryMock.Object, services.PaymentChargeRepositoryMock.Object, new DatesGenerator(), PaymentManagerConfiguration.CreateDefault() ); services.PaymentRepositoryMock.Setup(m => m.Create()).Returns(new Payment()); services.PaymentRepositoryMock.Setup(m => m.Insert(It.IsAny <Payment>())).Callback((Payment p) => { p.Id = new Random().Next(1, 1000); }); services.CreditCardRepositoryMock.Setup(m => m.Create()).Returns(new CreditCard()); services.CreditCardRepositoryMock.Setup(m => m.Insert(It.IsAny <CreditCard>())).Callback((CreditCard p) => { p.Id = new Random().Next(1, 1000); }); services.PaymentScheduleRepositoryMock.Setup(m => m.Create()).Returns(new PaymentSchedule()); services.PaymentScheduleRepositoryMock.Setup(m => m.Insert(It.IsAny <PaymentSchedule>())).Callback((PaymentSchedule p) => { p.Id = new Random().Next(1, 1000); }); services.PaymentChargeRepositoryMock.Setup(m => m.Create()).Returns(new PaymentCharge()); services.PaymentChargeRepositoryMock.Setup(m => m.Insert(It.IsAny <PaymentCharge>())).Callback((PaymentCharge p) => { p.Id = new Random().Next(1, 1000); }); services.PaymentGatewayMock.Setup(m => m.Customer(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <string>())).Returns(new Dictionary <string, string> { { "error", null } }); services.PaymentGatewayMock.Setup(m => m.CreateCard(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())).Returns(new Dictionary <string, string> { { "error", null }, { "id", "creditcard" }, { "brand", "visa" } }); services.PaymentGatewayMock.Setup(m => m.Charge(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>())).Returns(new Dictionary <string, object> { { "error", null }, { "id", "transaction_id" }, { "outcome", new Dictionary <string, string> { { "type", "type" } } } }); return(services); }
public PaymentsController() { _service = new PaymentsService(); _paymentManager = new PaymentManager(AppService.Current.Data.Context, PaymentManagerConfiguration.Create()); }
public PaymentsController() { PaymentService = new PaymentsService(AppService.Current.DataContextV2); PaymentManager = new PaymentManager(AppService.Current.DataContextV2, PaymentManagerConfiguration.Create()); }