Crud\Test\TestCase\Listener\ApiListenerTest::testEnsureDataSubject PHP Method

testEnsureDataSubject() public method

testEnsureDataSubject
public testEnsureDataSubject ( ) : void
return void
    public function testEnsureDataSubject()
    {
        $listener = $this->getMockBuilder('\\Crud\\Listener\\ApiListener')->setMethods(['_controller', '_action'])->disableOriginalConstructor()->getMock();
        $controller = $this->getMockBuilder('\\Cake\\Controller\\Controller')->setMethods(['set'])->disableOriginalConstructor()->getMock();
        $action = $this->getMockBuilder('Crud\\Action\\BaseAction')->setMethods(['config'])->disableOriginalConstructor()->getMock();
        $subject = new \Crud\Event\Subject(['success' => true, 'id' => 1, 'modelClass' => 'MyModel']);
        $config = ['data' => ['subject' => ['{modelClass}.id' => 'id', 'modelClass']]];
        $i = 0;
        $listener->expects($this->at($i++))->method('_controller')->will($this->returnValue($controller));
        $listener->expects($this->at($i++))->method('_action')->will($this->returnValue($action));
        $action->expects($this->at(0))->method('config')->with('api.success')->will($this->returnValue($config));
        $controller->expects($this->once())->method('set')->with('data', ['modelClass' => 'MyModel', 'MyModel' => ['id' => 1]]);
        $this->setReflectionClassInstance($listener);
        $result = $this->callProtectedMethod('_ensureData', [$subject], $listener);
    }