public function testSetOutputSpeech() { $instance = new ResponseSO(); $r = new ReflectionClass(ResponseSO::class); $p = $r->getProperty('outputSpeech'); $p->setAccessible(true); $m = Mockery::mock(ResponseSpeech::class); $instance->setOutputSpeech($m); $this->assertSame($m, $p->getValue($instance)); }
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; }