public void GetAll() { var repository = new Mock<IRepository<Employer>>(); var controller = new EmployerController(repository.Object, null, null, null, null, null, null); var expected = new List<Employer>(); repository.Setup(x => x.FindAll()).Returns(expected); var actual = controller.Get(); CollectionAssert.AreEqual(expected, actual); }
public void GetById() { var repository = new Mock<IRepository<Employer>>(); var totalCostCalculator = new Mock<ITotalCostCalculator>(); var costPerPayPeriodCalculator = new Mock<ICostPerPayPeriodCalculator>(); var salaryPerPayPeriodCalculator = new Mock<IGrossSalaryPerPayPeriodCalculator>(); var netSalaryPerPayPeriodCalculator = new Mock<INetSalaryPerPayPeriodCalculator>(); var totalDependentCostCalculator = new Mock<ITotalDependentCostCalculator>(); var dependentCostPerPayPeriodCalculator = new Mock<IDependentCostPerPayPeriodCalculator>(); var controller = new EmployerController(repository.Object, totalCostCalculator.Object, costPerPayPeriodCalculator.Object, salaryPerPayPeriodCalculator.Object, netSalaryPerPayPeriodCalculator.Object, totalDependentCostCalculator.Object, dependentCostPerPayPeriodCalculator.Object); var expectedEmployer = new Employer { Employees = new List<Employee> { new Employee() } }; var employerId = 1; var expectedTotalCost = 20; var expectedCostPerPeriod = 2; var expectedGrossSalaryPerPayPeriod = 3; var expectedNetSalaryPerPayPeriod = 10; var expectedTotalDependentCost = 12; var expectedDependentCostPerPeriod = 12; repository.Setup(x => x.Find(employerId)).Returns(expectedEmployer); foreach (var employee in expectedEmployer.Employees) { totalCostCalculator.Setup(x => x.Calculate(employee)).Returns(expectedTotalCost); costPerPayPeriodCalculator.Setup(x => x.Calculate(employee)).Returns(expectedCostPerPeriod); salaryPerPayPeriodCalculator.Setup(x => x.Calculate(employee)).Returns(expectedGrossSalaryPerPayPeriod); netSalaryPerPayPeriodCalculator.Setup(x => x.Calculate(employee)).Returns(expectedNetSalaryPerPayPeriod); totalDependentCostCalculator.Setup(x => x.Calculate(employee)).Returns(expectedTotalDependentCost); dependentCostPerPayPeriodCalculator.Setup(x => x.Calculate(employee)).Returns(expectedDependentCostPerPeriod); } var actual = controller.Get(employerId); Assert.AreEqual(expectedEmployer, actual); foreach (var employee in actual.Employees) { Assert.AreEqual(expectedTotalCost, employee.TotalCost); Assert.AreEqual(expectedCostPerPeriod, employee.CostPerPayPeriod); Assert.AreEqual(expectedGrossSalaryPerPayPeriod, employee.GrossSalaryPerPayPeriod); Assert.AreEqual(expectedNetSalaryPerPayPeriod, employee.NetSalaryPerPayPeriod); Assert.AreEqual(expectedTotalDependentCost, employee.TotalDependentCost); Assert.AreEqual(expectedDependentCostPerPeriod, employee.DependentCostPerPayPeriod); } }