public function testIndex()
 {
     $Activity1 = new \App\activity();
     $Activity1->description = 'Test';
     $Activity1->date = '2015-10-05';
     $Activity1->time = '00:00:00';
     $Activity1->plant_id = \App\Plant::where("name", "=", "TestActivityPlant")->first()->id;
     $Activity1->weather = 'few cloud';
     $Activity2 = new \App\activity();
     $Activity2->description = 'Test2';
     $Activity2->date = '2015-10-05';
     $Activity2->time = '00:00:00';
     $Activity2->plant_id = \App\Plant::where("name", "=", "TestActivityPlant")->first()->id;
     $Activity2->weather = 'rain';
     if (Activity::where("plant_id", "=", \App\Plant::where("name", "=", "TestActivityPlant")->first()->id)->count() <= 2) {
         $Activity1->save();
         $Activity2->save();
     }
     $Activity1->toArray();
     $ActivityController = new \App\Http\Controllers\activityController();
     $farmID = array('farmID' => \App\Farm::where("name", "=", "TestActivityFarm")->first()->id);
     $request = new \Illuminate\Http\Request();
     $request->replace($farmID);
     $test = $ActivityController->index($request);
     print_r($test[0] == $Activity2);
     $this->assertEquals($test[0], $Activity2->toArray());
     $this->assertEquals($test[1], $Activity1->toArray());
     $request->replace(null);
     $test2 = $ActivityController->index($request);
     $this->assertEquals(null, $test2);
 }
 public function testDestroyFarm()
 {
     $id = \App\Farm::where("name", "like", "test")->first()->id;
     $farmController = new \App\Http\Controllers\farmController();
     $request = new \Illuminate\Http\Request();
     $farmController->destroy($id, $request);
     $this->assertNull($farmController->show($id));
     $this->assertNull($farmController->destroy(null, $request));
 }
 public function testRegister()
 {
     $this->action('POST', 'userController@register', array('username' => "testReg", "password" => "testReg", "name" => "Reg", "lastname" => "Reg", "phoneNumber" => "083000000", "email" => "*****@*****.**", "role" => "test"));
     $this->seeInDatabase("users", array('username' => "testReg"));
     $this->action('POST', 'userController@register', array('username' => "testReg", "password" => "testReg", "name" => "Reg", "lastname" => "Reg", "phoneNumber" => "083000000", "email" => "*****@*****.**", "role" => "test"));
     $this->assertResponseStatus(502);
     $this->action('POST', 'userController@register', array('username' => "testReg2", "password" => "testReg", "name" => "Reg", "lastname" => "Reg", "farmID" => \App\Farm::where("name", "=", "TestActivityFarm")->first()->id * 100 + 320001, "phoneNumber" => "083000000", "email" => "*****@*****.**", "role" => "test"));
     $this->seeInDatabase("users", array('username' => "testReg2"));
     $this->action('POST', 'userController@register', array('username' => "testReg2", "password" => "testReg", "name" => "Reg", "lastname" => "Reg", "farmID" => 1, "phoneNumber" => "083000000", "email" => "*****@*****.**", "role" => "test"));
     $this->assertResponseStatus(502);
 }
 public function testUpdatePlot()
 {
     $id = \App\Plot::where('name', 'like', 'test')->first()->id;
     $farmId = \App\Farm::where("name", "like", "TestActivityFarm")->first()->id;
     $plot = array('name' => 'Test', 'DOB' => '2015-07-30', 'description' => 'Test plot 2', 'farm_id' => $farmId);
     $plotController = new \App\Http\Controllers\plotController();
     $request = new \Illuminate\Http\Request();
     $request->replace($plot);
     $plotController->update($id, $request);
     $this->seeInDatabase('plot', $plot);
 }
Beispiel #5
0
 public function getTop3Farm(Request $request)
 {
     $farmID = $request->input('id');
     $farm = Farm::where("id", "=", $farmID)->with("plot.plant.taskList.workerMember")->first();
     $taskUse = array();
     $i = 0;
     foreach ($farm->plot as $plot) {
         foreach ($plot->plant as $plant) {
             foreach ($plant->taskList as $task) {
                 if ($task->status == "Done") {
                     foreach ($task->workerMember as $worker) {
                         $taskUse[$i] = $worker;
                         $i++;
                     }
                 }
             }
         }
     }
     $member = array();
     $k = 0;
     $defaultID = 0;
     $count = 0;
     for ($j = 0; $j < sizeof($taskUse); $j++) {
         $member[$k] = $taskUse[$j];
         $k++;
     }
     usort($member, function ($a, $b) {
         return strcmp($b['id'], $a['id']);
     });
     $l = 0;
     $memberResult = array();
     for ($j = 0; $j < sizeof($member); $j++) {
         if ($j == 0) {
             $memberResult[$l] = $member[$j];
             $memberResult[$l]->count = 0;
             $defaultID = $member[$j]->id;
         } else {
             if ($member[$j]->id != $defaultID) {
                 $memberResult[$l]->count = $count;
                 $l++;
                 $memberResult[$l] = $member[$j];
                 $defaultID = $member[$j]->id;
                 $count = 0;
             }
         }
         if ($j == sizeof($member) - 1) {
             $count++;
             $memberResult[$l]->count = $count;
         }
         $count++;
     }
     usort($memberResult, function ($a, $b) {
         return strcmp($b['count'], $a['count']);
     });
     $output = array_slice($memberResult, 0, 3);
     return $output;
 }
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function show($id)
 {
     $farms = Farm::where('id', $id)->get();
     //dd($injections);
     return view('farms.show', compact('farms'));
 }
Beispiel #7
0
 public function testMockObject()
 {
     if (\App\Farm::where('name', '=', 'TestActivityFarm')->count() == 0) {
         $Farm = new \App\Farm();
         $Farm->name = 'TestActivityFarm';
         $Farm->description = 'TestActivityFarm';
         $Farm->address = 'CAMT';
         $Farm->Latitude = 18.800474;
         $Farm->Longitude = 98.950507;
         $Farm->save();
         $Plot = new \App\Plot();
         $Plot->name = 'TestActivityPlot';
         $Plot->farm_id = $Farm->id;
         $Plot->description = 'Test plot';
         $Plot->DOB = '2015-01-01';
         $Plot->save();
         $Plant = new \App\Plant();
         $Plant->name = 'TestActivityPlant';
         $Plant->type = 'Vegetable';
         $Plant->DOB = '2015-01-01';
         $Plant->harvestDay = 30;
         $Plant->plot_id = $Plot->id;
         $Plant->save();
         $User = new \App\User();
         $User->username = '******';
         $User->password = Hash::make("testAuth");
         $User->name = 'Auth';
         $User->lastname = 'Auth';
         $User->phoneNumber = '054000000';
         $User->email = '*****@*****.**';
         $User->role = 'test';
         $User->save();
         $Device = new \App\SensingDevice();
         $Device->device_id = "test10test";
         $Device->plot_id = $Plot->id;
         $Device->save();
         $Sensor = new \App\Sensor();
         $Sensor->name = "basic package";
         $Sensor->sensingDevice_id = $Device->id;
         $Sensor->save();
         $Task1 = new \App\TaskList();
         $Task1->description = "TestTask";
         $Task1->pictureLocation = "Temp/task.jpg";
         $Task1->status = "Remaining";
         $Task1->date = "2015-12-10";
         $Task1->time = "18:00:00";
         $Task1->plant_id = $Plant->id;
         $Task1->user_id = $User->id;
         $Task1->save();
         $Task1->workerMember()->attach($User->id);
         $Task2 = new \App\TaskList();
         $Task2->description = "TestTask2";
         $Task2->pictureLocation = "Temp/task.jpg";
         $Task2->status = "Late";
         $Task2->date = "2015-12-10";
         $Task2->time = "20:00:00";
         $Task2->plant_id = $Plant->id;
         $Task2->user_id = $User->id;
         $Task2->save();
         $Task2->workerMember()->attach($User->id);
         $MinMaxMonitor = new \App\MinMaxMonitor();
         $MinMaxMonitor->minHumidityPercentage = 10;
         $MinMaxMonitor->maxHumidityPercentage = 30;
         $MinMaxMonitor->minCelsius = 15;
         $MinMaxMonitor->maxCelsius = 30;
         $MinMaxMonitor->minSoilMoisture = 500;
         $MinMaxMonitor->maxSoilMosture = 1024;
         $MinMaxMonitor->minLux = 50;
         $MinMaxMonitor->maxLux = 10000;
         $MinMaxMonitor->sensor_id = $Sensor->id;
         $MinMaxMonitor->plant_id = $Plant->id;
         $MinMaxMonitor->save();
         $MinMaxMonitor->user()->attach($User->id);
     }
 }