예제 #1
0
        public void Test_UpsertIncomes_Fail_NullServiceParameter()
        {
            var incomeServices = new BudgetIncomeServices(_incomeRepository.Object);

            Assert.ThrowsAsync <NullReferenceException>(() => incomeServices.UpsertIncomes(null));
            _incomeRepository.Verify(i => i.UpsertIncomes(It.IsAny <List <BudgetIncome> >()), Times.Never);
        }
예제 #2
0
        public void Test_AddNewIncome_Fail_IncomeNotProvided()
        {
            var incomeServices = new BudgetIncomeServices(_incomeRepository.Object);

            Assert.ThrowsAsync <ArgumentException>(() => incomeServices.AddNewIncome(null));

            _incomeRepository.Verify(i => i.AddNewIncome(It.IsAny <BudgetIncome>()), Times.Never);
        }
예제 #3
0
        public void Test_UpdateIncome_Fail_IncomeRecordNotFound()
        {
            _incomeRepository.Setup(i => i.GetIncomeByIncomeId(It.IsAny <long>()));

            var incomeServices = new BudgetIncomeServices(_incomeRepository.Object);

            Assert.ThrowsAsync <Exception>(() => incomeServices.UpdateIncome(1, 2));

            _incomeRepository.Verify(i => i.UpdateIncome(It.IsAny <long>(), It.IsAny <decimal>()), Times.Never);
        }
예제 #4
0
        public void Test_GetAllIncomeByUserId_Fail_IncomeRecordsNotFound()
        {
            _incomeRepository.Setup(i => i.GetAllIncomeByUserId(It.IsAny <long>()));

            var incomeServices = new BudgetIncomeServices(_incomeRepository.Object);

            Assert.ThrowsAsync <Exception>(() => incomeServices.GetAllIncomeByUserId(1));

            _incomeRepository.Verify(i => i.GetAllIncomeByUserId(It.IsAny <long>()), Times.Once);
        }
예제 #5
0
        public async Task Test_GetAllIncomeByUserId_Success()
        {
            _incomeRepository.Setup(i => i.GetAllIncomeByUserId(It.IsAny <long>()))
            .ReturnsAsync(new List <BudgetIncome>());

            var incomeServices = new BudgetIncomeServices(_incomeRepository.Object);

            await incomeServices.GetAllIncomeByUserId(1);

            _incomeRepository.Verify(i => i.GetAllIncomeByUserId(It.IsAny <long>()), Times.Once);
        }
예제 #6
0
        public void Test_UpsertIncomes_Fail_EmptyList()
        {
            _incomeRepository.Setup(i => i.UpsertIncomes(It.IsAny <List <BudgetIncome> >()))
            .Returns(Task.CompletedTask);

            var incomeServices = new BudgetIncomeServices(_incomeRepository.Object);

            Assert.ThrowsAsync <ArgumentException>(() => incomeServices.UpsertIncomes(new List <BudgetIncomeModel>()));

            _incomeRepository.Verify(i => i.UpsertIncomes(It.IsAny <List <BudgetIncome> >()), Times.Never);
        }
예제 #7
0
        public async Task Test_UpdateIncome_Success()
        {
            _incomeRepository.Setup(i => i.GetIncomeByIncomeId(It.IsAny <long>()))
            .ReturnsAsync(new BudgetIncome());
            _incomeRepository.Setup(i => i.UpdateIncome(It.IsAny <long>(), It.IsAny <decimal>()))
            .Returns(Task.CompletedTask);

            var incomeServices = new BudgetIncomeServices(_incomeRepository.Object);
            await incomeServices.UpdateIncome(1, 2);

            _incomeRepository.Verify(i => i.UpdateIncome(It.IsAny <long>(), It.IsAny <decimal>()), Times.Once);
        }
예제 #8
0
        public async Task Test_AddNewIncome_Success()
        {
            _incomeRepository.Setup(i => i.AddNewIncome(It.IsAny <BudgetIncome>()))
            .Returns(Task.CompletedTask);

            var incomeServices = new BudgetIncomeServices(_incomeRepository.Object);
            await incomeServices.AddNewIncome(new BudgetIncomeModel()
            {
                UserId     = 1,
                Amount     = 5,
                IncomeType = "Pay Check"
            });

            _incomeRepository.Verify(i => i.AddNewIncome(It.IsAny <BudgetIncome>()), Times.Once);
        }
예제 #9
0
        public async Task Test_UpsertIncomes_Success()
        {
            _incomeRepository.Setup(i => i.UpsertIncomes(It.IsAny <List <BudgetIncome> >()))
            .Returns(Task.CompletedTask);

            var incomeServices = new BudgetIncomeServices(_incomeRepository.Object);
            await incomeServices.UpsertIncomes(new List <BudgetIncomeModel>()
            {
                new BudgetIncomeModel {
                    UserId = 1, Amount = 300, IncomeType = "Rent"
                },
                new BudgetIncomeModel {
                    UserId = 1, Amount = 500, IncomeType = "Rent"
                }
            });

            _incomeRepository.Verify(i => i.UpsertIncomes(It.IsAny <List <BudgetIncome> >()), Times.Once);
        }