} $fromNo = new TelephoneNo(env('TWILIO_TEL_NO')); $url = url('/twilio/calling/response'); $receivers->each(function (Receiver $receiver) use($service, $fromNo, $url, $logger) { $service->calling($fromNo, $receiver, $url); $logger->info('電話をかけた', ['telNo' => $receiver->getTelNo()->getMaskedTelNo()]); }); return response('ok'); }); $router->post('/calling/response', function () { return response()->view('twilio.response', [], 200, ['Content-type' => 'text/xml']); }); $router->post('/gathering', function (GatheringRequest $request, LoggerInterface $logger) { $pushed = $request->input('Digits'); $telNo = new TelephoneNo($request->input('To')); $logger->info('プッシュフォンを操作', ['telNo' => $telNo->getMaskedTelNo(), 'pushed' => $pushed]); $receiver = new Receiver($telNo, ''); // name is dummy $command = GatherCommandFactory::create($pushed, $receiver); $command->execute($pushed); if ($command->isRetry()) { $template = 'twilio.response'; } else { $template = 'twilio.complete'; } return response()->view($template, [], 200, ['Content-type' => 'text/xml']); }); $router->get('/logs', function (GatheringLogRepository $repository) { return view('twilio.logs', ['logs' => $repository->findAll()]); }); });
/** * @test * @dataProvider getDataForCreate */ public function create($pushed, $expected) { $receiver = new Receiver(new TelephoneNo(''), ''); $this->assertInstanceOf($expected, GatherCommandFactory::create($pushed, $receiver)); }