Example #1
0
        public async Task ExpenseRepository_AddExpenseTravel_Added_NotFail_Test()
        {
            var context  = new MyCompanyContext();
            int expected = context.ExpenseTravels.Count() + 1;

            var expenseId     = context.Expenses.First().ExpenseId;
            var expenseTravel = new ExpenseTravel()
            {
                ExpenseId = expenseId,
                Distance  = 1,
                From      = "From",
                To        = "To"
            };

            await target.AddAsync(expenseTravel);

            int actual = context.ExpenseTravels.Count();

            Assert.AreEqual(expected, actual);

            expenseTravel.From = Guid.NewGuid().ToString();
            await target.UpdateAsync(expenseTravel);

            var actualUpdated = await target.GetAsync(expenseTravel.ExpenseId);

            Assert.AreEqual(expenseTravel.From, actualUpdated.From);
        }
        public async Task ExpenseTravelService_AddExpenseTravel_Added_NotFail_Test()
        {
            var client = new MyCompanyClient(SecurityHelper.UrlBase, SecurityHelper.AccessToken);

            var context  = new Data.MyCompanyContext();
            int expected = context.ExpenseTravels.Count() + 1;

            var expenseId = context.Expenses.Include("ExpenseTravel")
                            .Where(e => e.ExpenseTravel == null).First().ExpenseId;

            var expenseTravel = new ExpenseTravel()
            {
                ExpenseId = expenseId,
                Distance  = 1,
                From      = "From",
                To        = "To",
                Expense   = null,
            };

            await client.ExpenseTravelService.Add(expenseTravel);

            int actual = context.ExpenseTravels.Count();

            Assert.AreEqual(expected, actual);

            expenseTravel.From = Guid.NewGuid().ToString();
            await client.ExpenseTravelService.Update(expenseTravel);

            var actualUpdated = context.ExpenseTravels.Where(t => t.ExpenseId == expenseTravel.ExpenseId).FirstOrDefault();

            Assert.AreEqual(expenseTravel.From, actualUpdated.From);
        }
        /// <summary>
        /// <see cref="MyCompany.Expenses.Data.Repositories.IExpenseTravelRepository"/>
        /// </summary>
        /// <param name="expenseTravel"><see cref="MyCompany.Expenses.Data.Repositories.IExpenseTravelRepository"/></param>
        public async Task UpdateAsync(ExpenseTravel expenseTravel)
        {
            _context.Entry <ExpenseTravel>(expenseTravel)
            .State = EntityState.Modified;

            await _context.SaveChangesAsync();
        }
        /// <summary>
        /// <see cref="MyCompany.Expenses.Data.Repositories.IExpenseTravelRepository"/>
        /// </summary>
        /// <param name="expenseTravel"><see cref="MyCompany.Expenses.Data.Repositories.IExpenseTravelRepository"/></param>
        /// <returns><see cref="MyCompany.Expenses.Data.Repositories.IExpenseTravelRepository"/></returns>
        public async Task <int> AddAsync(ExpenseTravel expenseTravel)
        {
            _context.ExpenseTravels.Add(expenseTravel);
            await _context.SaveChangesAsync();

            return(expenseTravel.ExpenseId);
        }
        public async Task Update(ExpenseTravel expenseTravel)
        {
            if (expenseTravel == null)
            {
                throw new ArgumentNullException("expenseTravel");
            }

            await _expenseTravelRepository.UpdateAsync((ExpenseTravel)expenseTravel);
        }
        public async Task <int> Add(ExpenseTravel expenseTravel)
        {
            if (expenseTravel == null)
            {
                throw new ArgumentNullException("expenseTravel");
            }

            return(await _expenseTravelRepository.AddAsync(expenseTravel));
        }
        public async Task ExpenseTravelController_Update_Test()
        {
            bool called = false;
            var  expenseTravelRepository = new Data.Repositories.Fakes.StubIExpenseTravelRepository();

            var updateExpenseTravel = new ExpenseTravel()
            {
                ExpenseId = 1,
                Distance  = 10
            };

            expenseTravelRepository.UpdateAsyncExpenseTravel = (expenseTravel) =>
            {
                Assert.IsTrue(updateExpenseTravel.ExpenseId == expenseTravel.ExpenseId);
                called = true;
                return(Task.FromResult(string.Empty));
            };

            var target = new ExpenseTravelsController(expenseTravelRepository);
            await target.Update(updateExpenseTravel);

            Assert.IsTrue(called);
        }
Example #8
0
        public async Task ExpenseRepository_DeleteExpenseTravel_Deleted_NotFail_Test()
        {
            var context = new MyCompanyContext();

            var expenseId        = context.Expenses.Where(e => e.ExpenseTravel == null).First().ExpenseId;
            var newExpenseTravel = new ExpenseTravel()
            {
                ExpenseId = expenseId,
                Distance  = 1,
                From      = "From",
                To        = "To"
            };

            await target.AddAsync(newExpenseTravel);

            var expenseTravel = context.ExpenseTravels.FirstOrDefault();
            int expected      = context.ExpenseTravels.Count() - 1;

            await target.DeleteAsync(expenseTravel.ExpenseId);

            int actual = context.ExpenseTravels.Count();

            Assert.AreEqual(expected, actual);
        }