public TaxpayerServiceTests() { var taxpayerRepositoryMock = new Mock <ITaxpayerRepository>(); var unitOfWorkMock = new Mock <IUnitOfWork>(); var basicWageServiceMock = new Mock <IBasicWageService>(); var incomeTaxCalculatorServiceMock = new Mock <IIncomeTaxCalculatorService>(); taxpayerRepositoryMock.Setup(b => b.ListAsync()).ReturnsAsync(new List <Taxpayer>() { new Taxpayer { Id = 1, Name = "Test 1", CPF = 11122233344, MonthlyGrossIncome = 2000 }, new Taxpayer { Id = 2, Name = "Test 2", CPF = 11122233355, MonthlyGrossIncome = 3000 }, }); taxpayerRepositoryMock.Setup(b => b.GetByIdAsync(1)).ReturnsAsync(new Taxpayer { Id = 1, Name = "Nome", NumberOfDependents = 0, MonthlyGrossIncome = 2000, CPF = 22222222222 }); taxpayerRepositoryMock.Setup(b => b.GetByIdAsync(2)).Returns(Task.FromResult <Taxpayer>(null)); taxpayerRepositoryMock.Setup(b => b.GetByCPFAsync(11111111111)).ReturnsAsync(new Taxpayer { Id = 1, NumberOfDependents = 0, MonthlyGrossIncome = 2000, CPF = 11111111111 }); taxpayerRepositoryMock.Setup(b => b.GetByCPFAsync(22222222222)).Returns(Task.FromResult <Taxpayer>(null)); unitOfWorkMock.Setup(u => u.CompleteAsync()).Returns(Task.CompletedTask); basicWageServiceMock.Setup(b => b.GetBasicWageDataAsync()).ReturnsAsync(new BasicWage { Id = 1, Value = 1000 }); incomeTaxCalculatorServiceMock.Setup(i => i.CalculateIncomeTaxRateDiscountFor(It.IsAny <Taxpayer>(), It.IsAny <BasicWage>())) .Returns(0); incomeTaxCalculatorServiceMock.Setup(i => i.CalculateIncomeTaxRatePercentageFor(It.IsAny <Taxpayer>(), It.IsAny <BasicWage>(), It.IsAny <decimal>())) .Returns(5); incomeTaxCalculatorServiceMock.Setup(i => i.CalculateTotalIncomeTax(It.IsAny <decimal>(), It.IsAny <decimal>(), It.IsAny <decimal>())) .Returns <decimal, decimal, decimal>((monthlyGrowthRate, taxRatePercentage, discount) => ((monthlyGrowthRate * taxRatePercentage) / 100) - discount); _taxpayerService = new TaxpayerService( taxpayerRepositoryMock.Object, unitOfWorkMock.Object, basicWageServiceMock.Object, incomeTaxCalculatorServiceMock.Object); }
public TaxpayerController(ITaxpayerService taxpayerService) { _taxpayerService = taxpayerService; }
public TaxpayersController(ITaxpayerService taxpayerService, IMapper mapper) { _taxpayerService = taxpayerService; _mapper = mapper; }