public TransactionsFacadeTests() { var lockService = new MutextLock(); var environment = new Environment(); var usersRepoMock = new Mock <IUsersRepository>(); usersRepoMock .Setup(t => t.GetByName(It.IsAny <string>())) .Returns((string name) => users.First(t => t.Name == name)); usersRepoMock .Setup(t => t.ChangeBalance(It.IsAny <string>(), It.IsAny <decimal>())) .Callback((string username, decimal newBalance) => { UserNameToChangeBalance = username; NewUserAmount = newBalance; }); var discountsRepo = new Mock <IDiscountsRepository>(); discountsRepo .Setup(t => t.GetDiscountsByProduct(It.IsAny <int>())) .Returns((int productId) => discounts.Where(t => t.ProductId == productId)); var productsRepo = new Mock <IProductsRepository>(); productsRepo .Setup(t => t.GetById(It.IsAny <int>())) .Returns((int productId) => products.FirstOrDefault(t => t.Id == productId)); productsRepo .Setup(t => t.ChangeQuantity(It.IsAny <int>(), It.IsAny <int>())) .Callback((int productId, int quantity) => { ProductidToChangeQuantity = productId; NewProductQuantity = quantity; }); var errorsRepoMock = new Mock <ITransactionErrorsRepository>(); var transactionsRepoMock = new Mock <ITransactionsRepository>(); transactionsRepoMock .Setup(t => t.Add(It.IsAny <Transaction>())) .Callback((Transaction transaction) => AddedTransaction = transaction); facade = new TransactionsFacade(usersRepoMock.Object, productsRepo.Object, discountsRepo.Object, environment, lockService, errorsRepoMock.Object, transactionsRepoMock.Object); }
public UsersFacadeTests() { var lockService = new MutextLock(); Mock <IUsersRepository> repositoryMock = new Mock <IUsersRepository>(); repositoryMock .Setup(t => t.GetByName(It.IsAny <string>())) .Returns((string name) => users.FirstOrDefault(t => t.Name == name)); repositoryMock .Setup(t => t.Add(It.IsAny <User>())) .Callback((User addedUser) => AddedUser = addedUser); userFacade = new UserFacade(repositoryMock.Object, lockService); }