public async Task DeleteBudgetItem_ExpectSuccess()
        {
            var remoteBudgetCalls = new RemoteBudgetCalls(accessControlManager, restClient);
            await remoteBudgetCalls.CreateNewBudget();

            var budget = await remoteBudgetCalls.GetCurrentBudget();

            var itemId = budget.BudgetGroups[0].BudgetItems[0].Id;
            await remoteBudgetCalls.DeleteBudgetItem(budget.Id, itemId);

            budget = await remoteBudgetCalls.GetCurrentBudget();

            budget.BudgetGroups[0].BudgetItems.Any(i => i.Id == itemId).Should().BeFalse();
        }
        public async Task UpdateBudgetItem_ExpectSuccess()
        {
            var remoteBudgetCalls = new RemoteBudgetCalls(accessControlManager, restClient);
            await remoteBudgetCalls.CreateNewBudget();

            var budget = await remoteBudgetCalls.GetCurrentBudget();

            decimal amount = 234.56m;
            await remoteBudgetCalls.UpdateBudgetItem(budget.Id, budget.BudgetGroups[0].BudgetItems[0].Id, amount);

            var updatedBudget = await remoteBudgetCalls.GetCurrentBudget();

            updatedBudget.BudgetGroups[0].BudgetItems[0].AmountBudgeted.Should().Be((int)(amount * 100));
        }
        public async Task CreateBudgetItem_ExpectSuccess()
        {
            var remoteBudgetCalls = new RemoteBudgetCalls(accessControlManager, restClient);
            await remoteBudgetCalls.CreateNewBudget();

            var budget = await remoteBudgetCalls.GetCurrentBudget();

            decimal        amount = 234.56m;
            string         label  = "totally unit testing";
            BudgetItemType type   = BudgetItemType.Income;
            await remoteBudgetCalls.CreateBudgetItem(budget.Id, budget.BudgetGroups[0].Id, type, label, amount);

            var updateBudget = await remoteBudgetCalls.GetCurrentBudget();

            var addedItem = updateBudget.BudgetGroups[0].BudgetItems.Where(i => i.Label == label).FirstOrDefault();

            addedItem.Should().NotBeNull();
            addedItem.Type.Should().Be(type);
            addedItem.AmountBudgeted.Should().Be((int)(amount * 100));
        }
        public async void CreateNewBudget_ExpectSuccess()
        {
            var remoteBudgetCalls = new RemoteBudgetCalls(accessControlManager, restClient);
            await remoteBudgetCalls.CreateNewBudget();

            var budget = await remoteBudgetCalls.GetCurrentBudget();

            budget.Should().NotBeNull();
            budget.BudgetGroups.Should().NotBeNull();
            budget.BudgetGroups[0].BudgetItems.Should().NotBeNull();
        }