public void Create_AnyInvoiceDto() { // Setup dependence var settingMock = new Mock<ISettings>(); var repositoryMock = new Mock<IRepository>(); var uowMock = new Mock<IUnitOfWork>(); var serviceLocatorMock = new Mock<IServiceLocator>(); serviceLocatorMock.Setup(r => r.GetInstance<IRepository>()) .Returns(repositoryMock.Object); serviceLocatorMock.Setup(r => r.GetInstance<IUnitOfWork>()) .Returns(uowMock.Object); ServiceLocator.SetLocatorProvider(() => serviceLocatorMock.Object); repositoryMock.Setup(r => r.CreateUnitOfWork()).Returns(uowMock.Object); // Arrange data // Act InvoiceService invoiceService = new InvoiceService(uowMock.Object, repositoryMock.Object, settingMock.Object); var currentCall = invoiceService.Create(new InvoiceDto()); // Assert repositoryMock.Verify(r => r.Insert<Invoice>(It.IsAny<Invoice>())); uowMock.Verify(u => u.Save()); }
public PaymentService(IUnitOfWork unitOfWork, IRepository repository, ISettings settings) : base(unitOfWork, repository, settings) { Gateway = new BraintreeGateway { Environment = GetEnvironment(), PublicKey = ConfigurationManager.AppSettings["BrainTreePublicKey"], PrivateKey = ConfigurationManager.AppSettings["BrainTreePrivateKey"], MerchantId = ConfigurationManager.AppSettings["BrainTreeMerchantId"] }; planService = new PlanService(unitOfWork, repository, settings); invoiceService = new InvoiceService(unitOfWork, repository, settings); }