Pinq\Tests\Integration\Providers\DSL\DSLProviderTest::testOperationCallsLoadsAndCachesCompiledRequest PHP Метод

testOperationCallsLoadsAndCachesCompiledRequest() публичный Метод

    public function testOperationCallsLoadsAndCachesCompiledRequest()
    {
        $operationTemplateMock = $this->queryTemplateMock('Pinq\\Providers\\DSL\\Compilation\\IOperationTemplate');
        $compiledOperationMock = $this->getMockForAbstractClass('Pinq\\Providers\\DSL\\Compilation\\ICompiledOperation');
        $cacheMock = $this->queryCacheAdapterMock($operationTemplateMock, $compiledOperationMock);
        $configurationMock = $this->getMockBuilder('Pinq\\Providers\\DSL\\RepositoryCompilerConfiguration')->setMethods(['buildCompiledQueryCache', 'createOperationTemplate', 'compileOperationQuery'])->disableOriginalConstructor()->getMockForAbstractClass();
        $configurationMock->expects($this->once())->method('buildCompiledQueryCache')->will($this->returnValue($cacheMock));
        $configurationMock->expects($this->once())->method('createOperationTemplate')->will($this->returnValue($operationTemplateMock));
        $configurationMock->expects($this->once())->method('compileOperationQuery')->will($this->returnValue($compiledOperationMock));
        $configurationMock->__construct();
        /** @var $provider \Pinq\Providers\DSL\RepositoryProvider|\PHPUnit_Framework_MockObject_MockObject */
        $provider = $this->getMockForAbstractClass('Pinq\\Providers\\DSL\\RepositoryProvider', [new Queries\SourceInfo(''), $configurationMock, $this->getMockBuilder('Pinq\\Providers\\DSL\\QueryProvider')->disableOriginalConstructor()->getMockForAbstractClass()]);
        $provider->expects($this->once())->method('executeCompiledOperation')->with($this->identicalTo($compiledOperationMock));
        $repository = $provider->createRepository();
        //Perform operation
        $repository->clear();
    }