예제 #1
0
 private function turnLightOff()
 {
     $this->initialise();
     $light = HouseLight::where('light_id', 1)->first();
     $this->assertInstanceOf('App\\HouseLight', $light);
     $job = new TurnLightOff($light->light_id);
     $this->dispatch($job);
 }
예제 #2
0
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     $houselight = HouseLight::where('light_id', '=', $this->light_id)->firstOrFail();
     $light = $this->client->getLights()[$this->light_id];
     $light->setOn(true);
     if ($light->isOn()) {
         $houselight->state = true;
         $houselight->save();
     }
 }
예제 #3
0
 public function testLightColorChange()
 {
     $this->initialise();
     $this->testLightOn();
     $light = HouseLight::where('light_id', 1)->first();
     $this->assertInstanceOf('App\\HouseLight', $light);
     $color = LightSetting::all()->random(1);
     $this->assertInstanceOf('App\\LightSetting', $color);
     $job = new SetLightColor($light->light_id, $color->x, $color->y);
     $this->dispatch($job);
     $this->seeInDatabase('lights', ['light_id' => $light->light_id, 'state' => '1', 'xy' => $color->x . ',' . $color->y]);
     $this->testLightOff();
 }
예제 #4
0
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     $houselight = HouseLight::where('light_id', '=', $this->light_id)->firstOrFail();
     $light = $this->client->getLights()[$this->light_id];
     $off_after = false;
     if (!$light->isOn()) {
         $off_after = true;
     }
     $light->setOn(true);
     $light->setXY($this->x, $this->y);
     $light->setBrightness($this->brightness);
     if ($off_after) {
         $job = new TurnLightOff($this->light_id);
         $this->dispatch($job);
     }
     $houselight->x = $this->x;
     $houselight->y = $this->y;
     $houselight->xy = $this->x . ',' . $this->y;
     $houselight->brightness = $this->brightness;
     $houselight->save();
 }