private function processIntent(SlimEcho\RequestIntent $echoRequest, array $user) { $speechSO = new SlimEcho\ResponseSpeechSO(); $slots = $echoRequest->getSlots(); $noun = $slots['Item']['value']; if (isset($slots['Status'])) { $status = $slots['Status']['value']; } else { $status = null; } if (isset($status)) { // updating a status $user[$noun] = ['status' => $status, 'since' => date('r')]; $speechSO->setType($speechSO::TYPE_PLAIN_TEXT); $speechSO->setText("I've made a note that the {$noun} are {$status} "); } else { // reporting on a prior status if (!isset($user[$noun])) { $speechSO->setType($speechSO::TYPE_PLAIN_TEXT); $speechSO->setText("Sorry, I don't seem to have a record of your {$noun} "); } else { $status = $user[$noun]['status']; $speechSO->setType($speechSO::TYPE_PLAIN_TEXT); $speechSO->setText("Your {$noun} are {$status} "); } } $speech = SlimEcho\ResponseSpeech::Factory($speechSO); $echoResponseSO = new SlimEcho\ResponseSO(); $echoResponseSO->endSession(); $echoResponseSO->setOutputSpeech($speech); $this->putUserRecord($user); return $echoResponseSO; }
public function testIsValid() { $instance = new ResponseSO(); $this->assertFalse($instance->isValid()); $r = new ReflectionClass(ResponseSO::class); $p = $r->getProperty('continueSession'); $p->setAccessible(true); $p->setValue($instance, true); $this->assertTrue($instance->isValid()); }