コード例 #1
0
        public void Constructor_ValidArguments_ExpectPopulatedParameters()
        {
            var remoteBudgetCalls = Substitute.For <IRemoteBudgetCalls>();
            var budgetGroupSync   = new BudgetGroupSync(remoteBudgetCalls);

            budgetGroupSync.Should().NotBeNull();
        }
コード例 #2
0
        public async Task SyncBudgetGroup_DeleteBudgetItem_ExpectRemoteItemDelete()
        {
            var remoteBudgetCalls = Substitute.For <IRemoteBudgetCalls>();
            var budgetGroupSync   = new BudgetGroupSync(remoteBudgetCalls);
            var remoteBudget      = CreateTestRemoteBudget();
            var budget            = BudgetBuilder.Build();

            budget.IncomeGroup.BudgetItems.RemoveAt(0);

            await budgetGroupSync.SyncBudgetGroup(remoteBudget, budget.IncomeGroup);

            await remoteBudgetCalls.Received()
            .DeleteBudgetItem(remoteBudget.Id, remoteBudget.BudgetGroups[0].BudgetItems[0].Id);
        }
コード例 #3
0
        public async Task SyncBudgetGroup_UpdateBudgetItem_ExpectRemoteItemUpdate()
        {
            var     remoteBudgetCalls = Substitute.For <IRemoteBudgetCalls>();
            var     budgetGroupSync   = new BudgetGroupSync(remoteBudgetCalls);
            var     remoteBudget      = CreateTestRemoteBudget();
            var     budget            = BudgetBuilder.Build();
            decimal amount            = 123.45m;

            budget.IncomeGroup.BudgetItems[0].Amount = amount;

            await budgetGroupSync.SyncBudgetGroup(remoteBudget, budget.IncomeGroup);

            await remoteBudgetCalls.Received()
            .UpdateBudgetItem(remoteBudget.Id, remoteBudget.BudgetGroups[0].BudgetItems[0].Id, amount);
        }
コード例 #4
0
        public async Task SyncBudgetGroup_AddBudgetItem_ExpectRemoteAdd()
        {
            var remoteBudgetCalls = Substitute.For <IRemoteBudgetCalls>();
            var budgetGroupSync   = new BudgetGroupSync(remoteBudgetCalls);
            var remoteBudget      = CreateTestRemoteBudget();
            var budget            = BudgetBuilder.Build();

            // Create an income group with 2 existing populated amounts and 1 new addition
            budget.IncomeGroup.BudgetItems[0].Amount = 10m;
            budget.IncomeGroup.BudgetItems[1].Amount = 10m;
            budget.IncomeGroup.AddNewBudgetItem();
            var newItem = budget.IncomeGroup.BudgetItems.Last();
            var index   = budget.IncomeGroup.BudgetItems.IndexOf(newItem);

            budget.IncomeGroup.BudgetItems[index].Name   = "test";
            budget.IncomeGroup.BudgetItems[index].Amount = 13m;

            await budgetGroupSync.SyncBudgetGroup(remoteBudget, budget.IncomeGroup);

            await remoteBudgetCalls.Received().CreateBudgetItem(remoteBudget.Id, remoteBudget.BudgetGroups[0].Id,
                                                                newItem.Type, newItem.Name,
                                                                newItem.Amount);;
        }