public void Create(EmployeePaycheck paycheck)
        {
            Guard.WhenArgument(paycheck, "paycheck").IsNull().Throw();

            this.employeePaychecks.Add(paycheck);
            this.employeePaychecks.SaveChanges();
        }
示例#2
0
        public void ConstructorWhenIsInvoked_ShouldNotSet_GrossNonFixedBonusProperty()
        {
            // Arrange & Act
            var paycheckService = new EmployeePaycheck();

            // Assert
            Assert.AreEqual(0m, paycheckService.GrossNonFixedBonus);
        }
示例#3
0
        public void ConstructorWhenIsInvoked_ShouldNotSet_NetWageProperty()
        {
            // Arrange & Act
            var paycheckService = new EmployeePaycheck();

            // Assert
            Assert.AreEqual(0m, paycheckService.NetWage);
        }
示例#4
0
        public void ConstructorWhenIsInvoked_ShouldSetPropertyRemunerationBillsAsEmptyHashSet()
        {
            // Arrange & Act
            var paycheckService = new EmployeePaycheck();

            // Assert
            Assert.IsAssignableFrom(typeof(DateTime), paycheckService.CreatedDate);
        }
示例#5
0
        public void WhenConstructorIsInvoked_ShouldSetInstanceOfEmployeePaycheckCorrectly()
        {
            // Arrange & Act
            var paycheckService = new EmployeePaycheck();

            // Assert
            Assert.IsInstanceOf(typeof(EmployeePaycheck), paycheckService);
        }
示例#6
0
        public void ConstructorWhenIsInvoked_ShouldNotSet_SocialSecurityIncomeProperty()
        {
            // Arrange & Act
            var paycheckService = new EmployeePaycheck();

            // Assert
            Assert.AreEqual(0m, paycheckService.SocialSecurityIncome);
        }
        public ActionResult CreateLaborContract(int id, EmployeePaycheck employeePaycheck)
        {
            var employee = this.employeeService.GetById(id);

            employeePaycheck.EmployeeId = id;
            employeePaycheck.Employee   = employee;
            var laborContractModel = this.mapService.Map <CreateEmployeePaycheckViewModel>(employeePaycheck);

            laborContractModel.CreatedDate = DateTime.Today;
            return(View(laborContractModel));
        }
示例#8
0
        public ActionResult Delete(int id, EmployeePaycheck paycheck)
        {
            paycheck = this.employeePaycheckService.GetById(id);
            if (paycheck == null)
            {
                return(HttpNotFound());
            }

            var paycheckViewModel = this.mapService.Map <PaycheckViewModel>(paycheck);

            return(View(paycheckViewModel));
        }
        public ActionResult Edit(int id, EmployeePaycheck paycheck)
        {
            paycheck = this.employeePaycheckService.GetById(id);
            if (paycheck == null)
            {
                return(HttpNotFound());
            }
            var laborContractModel = this.mapService.Map <PreviewEmployeePaycheckViewModel>(paycheck);
            var employee           = this.employeeService.GetById(paycheck.EmployeeId);

            laborContractModel.EmployeeId       = employee.Id;
            laborContractModel.EmployeeFullName = employee.FirstName + " " + employee.MiddleName + " " + employee.LastName;

            return(View(laborContractModel));
        }
示例#10
0
        public void ReturnHttpNotFoundResult_WhenEmployeeIsNull()
        {
            // Arrange
            var mockedMapService                   = new Mock <IMapService>();
            var employeePaycheckService            = new Mock <IEmployeePaycheckService>();
            var mockedPagerFactory                 = new Mock <IPagerFactory>();
            PaychecksController paycheckController = new PaychecksController(mockedMapService.Object, mockedPagerFactory.Object, employeePaycheckService.Object);
            var id = 10;
            EmployeePaycheck paycheck = null;

            employeePaycheckService.Setup(x => x.GetById(id)).Returns(paycheck);

            // Act & Assert
            Assert.IsInstanceOf <HttpNotFoundResult>(paycheckController.Delete(id, paycheck));
        }
示例#11
0
        public void PropertiesWithRequiredAttribute_ShouldReturnTrue(string propertyName)
        {
            // Arrange
            var paycheck = new EmployeePaycheck();

            // Act
            var result = paycheck.GetType()
                         .GetProperty(propertyName)
                         .GetCustomAttributes(false)
                         .Where(x => x.GetType() == typeof(RequiredAttribute))
                         .Any();

            // Assert
            Assert.IsTrue(result);
        }
示例#12
0
        public void WhenParameterFirstName_IsSetWithValidValue_ShouldSetUpCorrectly(decimal num1, decimal num2, decimal num3)
        {
            // Arrange
            var paycheck = new EmployeePaycheck();

            // Act
            paycheck.GrossSalary        = num1;
            paycheck.GrossFixedBonus    = num2;
            paycheck.GrossNonFixedBonus = num3;

            // Assert
            Assert.AreEqual(num1, paycheck.GrossSalary);
            Assert.AreEqual(num2, paycheck.GrossFixedBonus);
            Assert.AreEqual(num3, paycheck.GrossNonFixedBonus);
        }
示例#13
0
        public void ReturnHttpNotFoundResult_WhenEmployeeIsNull()
        {
            // Arrange
            var mapService          = new Mock <IMapService>();
            var employeeService     = new Mock <IEmployeeService>();
            var paycheckService     = new Mock <IEmployeePaycheckService>();
            var payrollCalculations = new Mock <Payroll>();

            var id = 5;
            EmployeePaycheck laborContractModel = null;

            paycheckService.Setup(x => x.GetById(id)).Returns(laborContractModel).Verifiable();

            // Act
            var laborController = new LaborContractController(mapService.Object, employeeService.Object, paycheckService.Object, payrollCalculations.Object);

            // Assert
            Assert.IsInstanceOf <HttpNotFoundResult>(laborController.Delete(id, laborContractModel));
        }
示例#14
0
        public void HttpGet_ReturnHttpNotFoundResult_WhenPaycheckIsNull()
        {
            // Arrange
            var mapService = new Mock <IMapService>();
            var employeePaycheckService = new Mock <IEmployeePaycheckService>();
            var pagerFactory            = new Mock <IPagerFactory>();

            var id             = 15;
            var mockedPaycheck = new Mock <PaycheckViewModel>();

            mockedPaycheck.Setup(x => x.Id).Returns(id).Verifiable();
            EmployeePaycheck mockedEmployee = null;

            employeePaycheckService.Setup(x => x.GetById(id)).Returns(mockedEmployee).Verifiable();

            // Act & Assert
            PaychecksController paycheckController = new PaychecksController(mapService.Object, pagerFactory.Object, employeePaycheckService.Object);

            Assert.IsInstanceOf <HttpNotFoundResult>(paycheckController.Edit(id, mockedPaycheck.Object));
        }
示例#15
0
        public void HttpGet_ReturnHttpNotFoundResult_WhenPaycheckIsNull()
        {
            // Arrange
            var mapService          = new Mock <IMapService>();
            var employeeService     = new Mock <IEmployeeService>();
            var paycheckService     = new Mock <IEmployeePaycheckService>();
            var payrollCalculations = new Mock <Payroll>();

            var id = 5;
            var laborContractModel = new Mock <PreviewEmployeePaycheckViewModel>();

            EmployeePaycheck mockedPaycheck = null;

            paycheckService.Setup(x => x.GetById(id)).Returns(mockedPaycheck).Verifiable();

            // Act & Assert
            var laborController = new LaborContractController(mapService.Object, employeeService.Object, paycheckService.Object, payrollCalculations.Object);

            Assert.IsInstanceOf <HttpNotFoundResult>(laborController.Edit(id, mockedPaycheck));
        }
示例#16
0
        public void ReturnIEnumerableOfPaychecksViewModel_WhenActionIsCalled()
        {
            // Arrange
            var mockedMapService      = new Mock <IMapService>();
            var mockedPaycheckService = new Mock <IEmployeePaycheckService>();
            var mockedPagerFactory    = new Mock <IPagerFactory>();

            var model                 = new Mock <PaycheckViewModel>();
            var pageModel             = new Mock <PageViewModel <PaycheckViewModel> >();
            EmployeePaycheck paycheck = new EmployeePaycheck();

            model.SetupProperty(x => x.Id, 15);
            IEnumerable <EmployeePaycheck> collectionPaychecks = new List <EmployeePaycheck>()
            {
                paycheck
            };
            IEnumerable <PaycheckViewModel> collectionModelUsers = new List <PaycheckViewModel>()
            {
                model.Object
            };

            mockedPaycheckService.Setup(x => x.GetAll()).Returns(collectionPaychecks.AsQueryable()).Verifiable();
            mockedMapService.Setup(x => x.Map <IEnumerable <PaycheckViewModel> >(collectionPaychecks)).Returns(collectionModelUsers).Verifiable();
            mockedPagerFactory.Setup(x => x.CreatePager(1, null, 10)).Returns(new Pager(1, null, 10)).Verifiable();
            pageModel.SetupProperty(x => x.Items, collectionModelUsers);
            pageModel.SetupProperty(x => x.Pager, new Pager(collectionModelUsers.Count(), null));

            // Act
            PaychecksController paycheckController = new PaychecksController(mockedMapService.Object, mockedPagerFactory.Object, mockedPaycheckService.Object);

            var result = paycheckController.Index(null, pageModel.Object) as ViewResult;

            // Assert
            Assert.IsInstanceOf <ViewResult>(result);
            Assert.AreEqual(pageModel.Object, result.Model);
        }
 public void UpdateById(int id, EmployeePaycheck updatePaycheck)
 {
     this.employeePaychecks.Update(updatePaycheck);
     this.employeePaychecks.SaveChanges();
 }