function test_get_workers_by_service()
 {
     $args = $this->factory->user->generate_args();
     $user_id_1 = $this->factory->user->create_object($args);
     $args = $this->factory->user->generate_args();
     $user_id_2 = $this->factory->user->create_object($args);
     $service_id_1 = appointments_insert_service(array('name' => 'My Service'));
     $service_id_2 = appointments_insert_service(array('name' => 'My Service 2'));
     $args = array('ID' => $user_id_1, 'price' => '19.7', 'services_provided' => array($service_id_1), 'dummy' => true);
     appointments_insert_worker($args);
     $args = array('ID' => $user_id_2, 'price' => '19.7', 'services_provided' => array($service_id_1, $service_id_2), 'dummy' => true);
     appointments_insert_worker($args);
     $workers = appointments_get_workers_by_service($service_id_1);
     $this->assertCount(2, $workers);
     $workers = appointments_get_workers_by_service($service_id_2);
     $this->assertCount(1, $workers);
 }
 /**
  * Get workers giving a specific service (by its ID)
  * We assume total number of workers is not too high, which is the practical case.
  * Otherwise this method would be expensive
  * @param ID: Id of the service to be retrieved
  * @param order_by: ORDER BY clause for mysql
  * @return array of objects
  */
 function get_workers_by_service($ID, $order_by = "ID")
 {
     $workers = appointments_get_workers_by_service($ID, $order_by);
     if (empty($workers)) {
         return false;
     }
     return $workers;
 }