Пример #1
0
        public void PositiveTest_GetPayslip_WithNoId_APIReferenceStringReturned()
        {
            var SUT         = new PayslipController();
            var getResponse = SUT.Get();

            Assert.AreEqual("user api/Payslip/id to get payslip of Employee", (getResponse as System.Web.Http.Results.JsonResult <EmptyResult>).Content.Message);
        }
Пример #2
0
        public void PositiveTest_GetPayslip_ByCorrectId_CorrectTaxCalculation_4()
        {
            var employeeMock1 = new Mock <Employee>().As <ITaxableEmployee>();

            employeeMock1.Setup(emp => emp.FirstName).Returns("FirstName");
            employeeMock1.Setup(emp => emp.LastName).Returns("LastName");
            employeeMock1.Setup(emp => emp.PaymentStartDate).Returns(new DateTime(2018, 03, 01));
            employeeMock1.Setup(emp => emp.AnualSalary).Returns(200000);
            employeeMock1.Setup(emp => emp.SuperRate).Returns(11);

            List <ITaxableEmployee> taxableEmployees = new List <ITaxableEmployee>
            {
                employeeMock1.Object
            };

            var mockRepo = new Mock <IProxyRepo <ITaxableEmployee> >();

            mockRepo.Setup(x => x.Entities).Returns(taxableEmployees);
            var SUT = new PayslipController(mockRepo.Object);

            var getResponse = SUT.Get(0);
            var paySlip     = (getResponse as System.Web.Http.Results.JsonResult <IPayslip>).Content;

            Assert.IsNotNull(paySlip);
            Assert.AreEqual(16667, paySlip.GrossIncome);
            Assert.AreEqual(5269, paySlip.IncomeTax);
            Assert.AreEqual(11398, paySlip.NetIncome);
            Assert.AreEqual(1833, paySlip.SuperAmount);
        }
Пример #3
0
        public void PositiveTest_GetPayslip_WithNoId_APIReferenceStringReturned()
        {
            var SUT         = new PayslipController();
            var getResponse = SUT.Get();

            Assert.AreEqual("user api/Payslip/id to get payslip of Employee", (getResponse as OkNegotiatedContentResult <string>).Content);
        }
Пример #4
0
        public void PositiveTest_GetPayslip_ByCorrectId_CorrectTaxCalculation_4()
        {
            var employee1 = new Employee()
            {
                FirstName        = "FirstName1",
                LastName         = "LastName1",
                AnualSalary      = 200000,
                PaymentStartDate = new DateTime(2018, 03, 31),
                SuperRate        = 11
            };

            var employeeControllerSUT = new EmployeeController();
            var id = (employeeControllerSUT.Post(employee1).Result as OkNegotiatedContentResult <int>).Content;

            var SUT = new PayslipController();

            var getResponse = SUT.Get(id);
            var paySlip     = (getResponse as OkNegotiatedContentResult <IPayslip>).Content;

            Assert.IsNotNull(paySlip);
            Assert.AreEqual(16667, paySlip.GrossIncome);
            Assert.AreEqual(5269, paySlip.IncomeTax);
            Assert.AreEqual(11398, paySlip.NetIncome);
            Assert.AreEqual(1833, paySlip.SuperAmount);
        }
Пример #5
0
        public void NegativeTest_GetPayslip_ByWrongId_CorrectTaxCalculation()
        {
            var employee1 = new Employee()
            {
                FirstName        = "FirstName1",
                LastName         = "LastName1",
                AnualSalary      = 60050,
                PaymentStartDate = new DateTime(2018, 03, 31),
                SuperRate        = 9
            };

            var employeeControllerSUT = new EmployeeController();
            var id = (employeeControllerSUT.Post(employee1).Result as OkNegotiatedContentResult <int>).Content;

            var SUT = new PayslipController();

            var getResponse = SUT.Get(499999);

            Assert.IsInstanceOfType(getResponse, typeof(NotFoundResult));
        }
Пример #6
0
        public void NegativeTest_GetPayslip_ByWrongId_CorrectTaxCalculation()
        {
            var employeeMock1 = new Mock <Employee>().As <ITaxableEmployee>();

            employeeMock1.Setup(emp => emp.FirstName).Returns("FirstName");
            employeeMock1.Setup(emp => emp.LastName).Returns("LastName");
            employeeMock1.Setup(emp => emp.PaymentStartDate).Returns(new DateTime(2018, 03, 01));
            employeeMock1.Setup(emp => emp.AnualSalary).Returns(60050);
            employeeMock1.Setup(emp => emp.SuperRate).Returns(9);

            List <ITaxableEmployee> taxableEmployees = new List <ITaxableEmployee>();

            taxableEmployees.Add(employeeMock1.Object);

            var mockRepo = new Mock <SalaryWebApp.Models.IProxyRepo <ITaxableEmployee> >();

            mockRepo.Setup(x => x.Entities).Returns(taxableEmployees);
            var SUT = new PayslipController(mockRepo.Object);

            var getResponse = SUT.Get(1);

            Assert.AreEqual("No such employee", (getResponse as System.Web.Http.Results.JsonResult <EmptyResult>).Content.Message);
        }