public void TryGetEmployeesByNameWithNullNameParameter()
 {
     using (var client = new EmployeeReaderClient())
     {
         client.GetEmployeesByName(null);
     }
 }
        public void TryDeleteAll()
        {
            var id     = Int32.Parse(testContextInstance.DataRow["EmployeeId"].ToString());
            var name   = testContextInstance.DataRow["EmployeeName"].ToString();
            var remark = testContextInstance.DataRow["EmployeeRemark"].ToString();

            var employeeId     = Int32.Parse(testContextInstance.DataRow["SecondEmployeeId"].ToString());
            var employeeName   = testContextInstance.DataRow["SecondEmployeeName"].ToString();
            var totalEmployees = Int32.Parse(testContextInstance.DataRow["TotalNumberOfEmployees"].ToString());

            using (var employeeManagerClient = new EmployeeManagerClient())
            {
                employeeManagerClient.CreateEmployeeWithRemark(id, name, remark);
                employeeManagerClient.CreateEmployeeWithRemark(employeeId, employeeName, remark);

                using (var employeeReaderClient = new EmployeeReaderClient())
                {
                    var employeeCountBeforeDelete = employeeReaderClient.GetAllEmployees().Count;

                    Assert.AreEqual(totalEmployees, employeeCountBeforeDelete);

                    employeeManagerClient.DeleteEmployees();

                    employeeReaderClient.GetAllEmployees();
                }
            }
        }
        public void TryDeleteEmployee()
        {
            var id     = Int32.Parse(testContextInstance.DataRow["EmployeeId"].ToString());
            var name   = testContextInstance.DataRow["EmployeeName"].ToString();
            var remark = testContextInstance.DataRow["EmployeeRemark"].ToString();

            var employeeId   = Int32.Parse(testContextInstance.DataRow["SecondEmployeeId"].ToString());
            var employeeName = testContextInstance.DataRow["SecondEmployeeName"].ToString();
            var employeesCountAfterDelete = Int32.Parse(testContextInstance.DataRow["EmployeesCountAfterDelete"].ToString());

            using (var employeeManagerClient = new EmployeeManagerClient())
            {
                employeeManagerClient.CreateEmployeeWithRemark(id, name, remark);
                employeeManagerClient.CreateEmployeeWithRemark(employeeId, employeeName, remark);

                using (var employeeReaderClient = new EmployeeReaderClient())
                {
                    var employees = employeeReaderClient.GetAllEmployees();

                    employeeManagerClient.DeleteEmployeeById(id);

                    var employeesAfterDelete = employeeReaderClient.GetAllEmployees();
                    Assert.AreEqual(employeesCountAfterDelete, employeesAfterDelete.Count);
                }
            }
        }
 public void TryGetAllEmployeesForEmptyEmployeeData()
 {
     using (var employeeReaderClient = new EmployeeReaderClient())
     {
         employeeReaderClient.GetAllEmployees();
     }
 }
        public void TryGetEmployeesByNameWithInvalidNameValue()
        {
            var name = testContextInstance.DataRow["EmployeeName"].ToString();

            using (var client = new EmployeeReaderClient())
            {
                client.GetEmployeesByName(name);
            }
        }
        public void TryGetEmployeeDetailsByIdWithInvalidIdValue()
        {
            var id = Int32.Parse(testContextInstance.DataRow["EmployeeId"].ToString());

            using (var client = new EmployeeReaderClient())
            {
                client.GetEmployeeDetailsById(id);
            }
        }
        public void TryGetEmployeesByName()
        {
            var id     = Int32.Parse(testContextInstance.DataRow["EmployeeId"].ToString());
            var name   = testContextInstance.DataRow["EmployeeName"].ToString();
            var remark = testContextInstance.DataRow["EmployeeRemark"].ToString();

            using (var employeeManagerClient = new EmployeeManagerClient())
            {
                var employee = employeeManagerClient.CreateEmployeeWithRemark(id, name, remark);

                using (var employeeReaderClient = new EmployeeReaderClient())
                {
                    var employeees = employeeReaderClient.GetEmployeesByName(name);
                    Assert.IsTrue(employeees.Any(emp => emp.Id == employee.Id));
                }
            }
        }
        public void TryAddAndRetrieveEmployee()
        {
            var id     = Int32.Parse(testContextInstance.DataRow["EmployeeId"].ToString());
            var name   = testContextInstance.DataRow["EmployeeName"].ToString();
            var remark = testContextInstance.DataRow["EmployeeRemark"].ToString();

            using (var employeeManagerClient = new EmployeeManagerClient())
            {
                var employee = employeeManagerClient.CreateEmployeeWithRemark(id, name, remark);

                using (var employeeReaderClient = new EmployeeReaderClient())
                {
                    var employeeReceived = employeeReaderClient.GetEmployeeDetailsById(1);
                    Assert.AreEqual(employee.Id, employeeReceived.Id);
                }
            }
        }
        public void TryGetEmployeesByNameForNonExistingEmployee()
        {
            var id     = Int32.Parse(testContextInstance.DataRow["EmployeeId"].ToString());
            var name   = testContextInstance.DataRow["EmployeeName"].ToString();
            var remark = testContextInstance.DataRow["EmployeeRemark"].ToString();

            var employeeName = testContextInstance.DataRow["SecondEmployeeName"].ToString();

            using (var employeeManagerClient = new EmployeeManagerClient())
            {
                employeeManagerClient.CreateEmployeeWithRemark(id, name, remark);

                using (var employeeReaderClient = new EmployeeReaderClient())
                {
                    employeeReaderClient.GetEmployeesByName(employeeName);
                }
            }
        }
        public void TryGetEmployeesWithRemarkForNoResultFound()
        {
            var id   = Int32.Parse(testContextInstance.DataRow["EmployeeId"].ToString());
            var name = testContextInstance.DataRow["EmployeeName"].ToString();

            var employeeId   = Int32.Parse(testContextInstance.DataRow["SecondEmployeeId"].ToString());
            var employeeName = testContextInstance.DataRow["SecondEmployeeName"].ToString();

            using (var employeeManagerClient = new EmployeeManagerClient())
            {
                employeeManagerClient.CreateEmployee(id, name);
                employeeManagerClient.CreateEmployee(employeeId, employeeName);

                using (var employeeReaderClient = new EmployeeReaderClient())
                {
                    employeeReaderClient.GetEmployeesWithRemark();
                }
            }
        }
        public void TryAddRemarkForExistingEmployee()
        {
            var id              = Int32.Parse(testContextInstance.DataRow["EmployeeId"].ToString());
            var name            = testContextInstance.DataRow["EmployeeName"].ToString();
            var remark          = testContextInstance.DataRow["EmployeeRemark"].ToString();
            var remarkToBeAdded = testContextInstance.DataRow["EmployeeRemark"].ToString();
            var remarksCount    = Int32.Parse(testContextInstance.DataRow["RemarksCount"].ToString());

            using (var client = new EmployeeManagerClient())
            {
                Employee employee = client.CreateEmployeeWithRemark(id, name, remark);
                client.AddRemark(id, remarkToBeAdded);

                using (var readerClient = new EmployeeReaderClient())
                {
                    var employeeWithRemarks = readerClient.GetEmployeeDetailsById(1);
                    Assert.AreEqual(remarksCount, employeeWithRemarks.Remarks.Count);
                }
            }
        }
        public void TryGetEmployeesWithRemark()
        {
            var id     = Int32.Parse(testContextInstance.DataRow["EmployeeId"].ToString());
            var name   = testContextInstance.DataRow["EmployeeName"].ToString();
            var remark = testContextInstance.DataRow["EmployeeRemark"].ToString();

            var employeeId              = Int32.Parse(testContextInstance.DataRow["SecondEmployeeId"].ToString());
            var employeeName            = testContextInstance.DataRow["SecondEmployeeName"].ToString();
            var employeeCountWithRemark = Int32.Parse(testContextInstance.DataRow["EmployeeCountWithRemark"].ToString());

            using (var employeeManagerClient = new EmployeeManagerClient())
            {
                employeeManagerClient.CreateEmployeeWithRemark(id, name, remark);
                employeeManagerClient.CreateEmployee(employeeId, employeeName);

                using (var employeeReaderClient = new EmployeeReaderClient())
                {
                    Assert.AreEqual(employeeCountWithRemark, employeeReaderClient.GetEmployeesWithRemark().Count);
                }
            }
        }