コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: UsersFacadeTests.cs プロジェクト: alborozd/ZenTask
        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);
        }