public void fillRegistrationForm(HireEmployee employee)
        {
            firstNameInput.SendKeys(employee.FirstName);
            middleNameInput.SendKeys(employee.MiddleName);
            lastNameInput.SendKeys(employee.LastName);
            ageInput.SendKeys(employee.Age);
            randomGender().Click();
            addressInput.SendKeys(employee.Address);
            IBANInput.SendKeys(employee.Iban);
            randomJobID().Click();
            Thread.Sleep(3000);
            email.SendKeys(employee.Email);
            salary.SendKeys(employee.Salary);
            startingDate.SendKeys(employee.StratingDate);
            vacationDays.SendKeys(employee.VacationDays);
            var selectWorkingHours = new SelectElement(workingHours);

            selectWorkingHours.SelectByText("Four hours a day");
            var selectWorkingDays = new SelectElement(workingDays);

            selectWorkingDays.SelectByText("Five days a week Five days a week");
            randomGrade().Click();
            skillsSelect.Click();
            allSkills.Click();
            submitEmployeeBtn.Click();
        }
Exemple #2
0
        public void RecordCorrectlyThePassedValidSalaryParam_WhenExecuted()
        {
            //hireEmployee; Jo; Ma; CleanerManager; 1000; 20; Management

            //Arrange
            string cName = "hireEmployee";
            string fname = "Jo";
            string lName = "Ma";
            string pos   = "MasterOfPupets";
            string sal   = "15000";
            string rpm   = "200";
            string dept  = "Management";

            decimal expectedSalary = decimal.Parse(sal);

            string[] commandParams = { cName, fname, lName, pos, sal, rpm, dept };

            var modelValidatorStub = new Mock <IValidateModel>();

            var coreValidatorStub = new Mock <IValidateCore>();

            coreValidatorStub
            .Setup(x => x.DecimalFromString(sal, "salary"))
            .Returns(expectedSalary);
            coreValidatorStub
            .Setup(x => x.DecimalFromString(rpm, "ratePerMinute"))
            .Returns(decimal.Parse(rpm));

            var employeesStub   = new Mock <IList <IEmployee> >();
            var employeeStub    = new Mock <IEmployee>(MockBehavior.Strict);
            var employeeStubObj = employeeStub.Object;

            var autoServiceFactoryStub = new Mock <IAutoServiceFactory>(MockBehavior.Strict);

            autoServiceFactoryStub
            .Setup(x => x.CreateEmployee(fname, lName, pos, decimal.Parse(sal), decimal.Parse(rpm), DepartmentType.Management, modelValidatorStub.Object))
            .Returns(new Employee(fname, lName, pos, decimal.Parse(sal), decimal.Parse(rpm), DepartmentType.Management, modelValidatorStub.Object));

            employeeStubObj = autoServiceFactoryStub.Object.CreateEmployee(fname, lName, pos, decimal.Parse(sal), decimal.Parse(rpm), DepartmentType.Management, modelValidatorStub.Object);

            var databaseStub = new Mock <IDatabase>();

            databaseStub.Setup(x => x.Employees.Add(It.IsAny <IEmployee>()));

            var writerStub    = new Mock <IWriter>();
            var writerStubObj = writerStub.Object;

            ICommand sut = new HireEmployee(autoServiceFactoryStub.Object, databaseStub.Object, coreValidatorStub.Object, writerStubObj, modelValidatorStub.Object);

            //Act
            sut.ExecuteThisCommand(commandParams);


            //decimal actualSalary = databaseStub.Object.Employees[0].Salary;
            decimal actualSalary = employeeStubObj.Salary;

            //Assert
            Assert.AreEqual(expectedSalary, actualSalary);
        }
Exemple #3
0
        public void CallTheExecuteCommandMethod_JustOnce_WhenExecuted()
        {
            //Arrange
            string cName = "hireEmployee";
            string fname = "Jo";
            string lName = "Ma";
            string pos   = "MasterOfPupets";
            string sal   = "15000";
            string rpm   = "200";
            string dept  = "Management";

            string[] commandParams = { cName, fname, lName, pos, sal, rpm, dept };

            var modelValidatorStub = new Mock <IValidateModel>();

            modelValidatorStub.Setup(x => x.StringForNullEmpty("string"));
            modelValidatorStub.Setup(x => x.HasDigitInString("assas", "sadsada"));
            modelValidatorStub.Setup(x => x.NonNegativeValue(100m, "paramName"));

            var coreValidatorStub = new Mock <IValidateCore>();

            coreValidatorStub
            .Setup(x => x.DecimalFromString(sal, "salary"))
            .Returns(decimal.Parse(sal));
            coreValidatorStub
            .Setup(x => x.DecimalFromString(rpm, "ratePerMinute"))
            .Returns(decimal.Parse(rpm));

            var employeesStub   = new Mock <IList <IEmployee> >();
            var employeeStub    = new Mock <IEmployee>();
            var employeeStubObj = employeeStub.Object;

            var autoServiceFactoryStub = new Mock <IAutoServiceFactory>();

            autoServiceFactoryStub
            .Setup(x => x.CreateEmployee(fname, lName, pos, decimal.Parse(sal), decimal.Parse(rpm), DepartmentType.Management, modelValidatorStub.Object))
            .Returns(new Employee(fname, lName, pos, decimal.Parse(sal), decimal.Parse(rpm), DepartmentType.Management, modelValidatorStub.Object));

            employeeStubObj = autoServiceFactoryStub.Object.CreateEmployee(fname, lName, pos, decimal.Parse(sal), decimal.Parse(rpm), DepartmentType.Management, modelValidatorStub.Object);

            var databaseStub = new Mock <IDatabase>();

            databaseStub.Setup(x => x.Employees.Add(It.IsAny <IEmployee>()));

            var writerStub    = new Mock <IWriter>();
            var writerStubObj = writerStub.Object;

            ICommand sut = new HireEmployee(autoServiceFactoryStub.Object, databaseStub.Object, coreValidatorStub.Object, writerStubObj, modelValidatorStub.Object);

            //Act
            sut.ExecuteThisCommand(commandParams);

            //assert
            databaseStub.Verify(x => x.Employees.Add(It.IsAny <IEmployee>()), Times.Once);
        }
        public async Task <IActionResult> Hire([FromBody] HireEmployee request)
        {
            try
            {
                await mediator.Send(request);

                return(Ok());
            }
            catch (InvalidOperationException)
            {
                return(BadRequest());
            }
        }
        public void HirePersonWithInvalidData()
        {
            HRMainPage.hireBtn.Click();
            var path = Path.GetFullPath(Directory.GetCurrentDirectory()
                                        + "/../../../Jsons/HirePerson/HirePersonInvalidInput.json");
            var hirePerson = HireEmployee.FromJson(File.ReadAllText(path));

            hireEmployeePage.fillRegistrationForm(hirePerson);
            Thread.Sleep(2000);
            string tabTitle = driver.Title;

            Thread.Sleep(3000);
            tabTitle.Should().Be("Hire Employee");
        }
Exemple #6
0
        public async void ItHiresEmployees()
        {
            var employee = A.Fake <Employee>();

            A.CallTo(() => reader.Read <Employee>(A <Guid> ._)).Returns(employee);
            var request = new HireEmployee
            {
                Name       = "Marky Mark",
                EmployeeId = Guid.Parse("cc6a3a55-ce2c-49e3-872b-4dfff766726f"),
                Salary     = 10000
            };

            await sut.Handle(request, CancellationToken.None);

            A.CallTo(() => employee.Hire(request.EmployeeId, request.Name, request.Salary)).MustHaveHappened()
            .Then(A.CallTo(() => writer.Write(employee)).MustHaveHappened());
        }
 public static string ToJson(this HireEmployee self) => JsonConvert.SerializeObject(self, Converter.Settings);