Example #1
0
        }
        $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));
 }