コード例 #1
0
        public void Given_GetTransactions_When_condition_Should_expect()
        {
            // Given
            var transactionRepository = new FakeRepository <POSOrder>(new[] { GetSeedTransaction() });
            var service = new POSOrderService(transactionRepository, new TransactionValidator());
            // When
            var transactions = service.GetTransactions();

            // Then
            Assert.NotEmpty(transactions);
        }
コード例 #2
0
        public void Given_CreateTransaction_When_condition_Should_expect()
        {
            //Given
            var transaction           = GetSeedTransaction();
            var transactionRepository = new FakeRepository <POSOrder>();
            var service = new POSOrderService(transactionRepository, new TransactionValidator());
            //When
            var result             = service.CreateTransaction(transaction);
            var createdTransaction = transactionRepository.GetBy(result.Value.Id);

            //Then
            Assert.True(result.Success);
            Assert.Equal(1, createdTransaction.Id);
        }
コード例 #3
0
        public void Given_GetTransactionsByDate_When_condition_Should_expect()
        {
            // Given
            var todayDate    = DateTimeOffset.UtcNow;
            var transactions = Enumerable.Repeat(GetSeedTransaction(), 5).Select((t, index) =>
            {
                t.CreatedAt = todayDate.AddDays(index % 2.0 == 0.0 ? -1.0 * index : 0.0);
                return(t);
            });
            var transactionRepository = new FakeRepository <POSOrder>(transactions);
            var service = new POSOrderService(transactionRepository, new TransactionValidator());
            // When
            var todayTransactions = service.GetTransactionsByDate(todayDate);

            // Then
            todayTransactions.ToList().ForEach((t) => Assert.True(t.CreatedAt.Day >= todayDate.Day));
        }
コード例 #4
0
        public void Given_GetTransactionsByDateAsync_When_condition_Should_expect()
        {
            // Given
            var todayDate    = DateTimeOffset.UtcNow;
            var transactions = Enumerable.Repeat(GetSeedTransaction(), 5).Select((t, index) =>
            {
                t.CreatedAt = index % 2.0 == 0 ? todayDate : DateTimeOffset.UtcNow.AddDays(-1.0 * index);
                return(t);
            });
            var transactionRepository = new FakeRepository <POSOrder>(transactions);
            var service = new POSOrderService(transactionRepository, new TransactionValidator());
            // When
            var result = service.GetTransactionsByDateAsync(todayDate).GetAwaiter().GetResult();

            // Then
            Assert.NotEmpty(result);
            result.ToList().ForEach(transaction => Assert.True(transaction.CreatedAt.Day >= todayDate.Day));
        }
コード例 #5
0
        public void Given_GetTodayTransactions_When_condition_Should_expect()
        {
            // Given
            var transaction = GetSeedTransaction();

            transaction.CreatedAt = DateTimeOffset.UtcNow;
            var oldTransaction = GetSeedTransaction();
            var oldDate        = DateTimeOffset.UtcNow.AddDays(-2);

            oldTransaction.CreatedAt = oldDate;
            var transactionRepository = new FakeRepository <POSOrder>(new[] { transaction, oldTransaction });
            var service = new POSOrderService(transactionRepository, new TransactionValidator());
            // When
            var result = service.GetTodayTransactions();

            // Then
            Assert.NotEmpty(result);
            Assert.Collection(result, (item) => Assert.True(item.CreatedAt.Day > oldDate.Day, "CreatedAt is a today date"));
        }
コード例 #6
0
        public async Task Given_GetTodayTransactionsAsync_When_condition_Should_expect()
        {
            // Given
            var todayDate    = DateTimeOffset.UtcNow;
            var transactions = Enumerable.Range(0, 10).Select((i) => {
                var transaction = new POSOrder
                {
                    CreatedAt = i % 2 == 0 ? todayDate : DateTimeOffset.UtcNow.AddDays(-2)
                };
                return(transaction);
            });
            var transactionRepository = new FakeRepository <POSOrder>(transactions);
            var service = new POSOrderService(transactionRepository, new TransactionValidator());
            // When
            //var result = Task.Run(async () => await service.GetTodayTransactionsAsync());
            //var result = ;
            var result = await service.GetTodayTransactionsAsync().ToListAsync();

            // Then
            Assert.NotEmpty(result);
            result.ForEach(transaction => Assert.True(transaction.CreatedAt.Day >= todayDate.Day));
        }