bosnadev / repository

Laravel Repositories is a package for Laravel 5 which is used to abstract the database layer. This makes applications much easier to maintain.

Home Page:https://bosnadev.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Repository::pushCriteria() does not exist on this mock object

vdomah opened this issue · comments

Running tests got this error:

BadMethodCallException: Method Mockery_0_App_Repositories_ProductRepository::pushCriteria() does not exist on this mock object

Making mock like that
$this->productRepository = \Mockery::mock('App\Repositories\ProductRepository');

In the same time
$this->productRepository->shouldReceive('paginate')
doesn't give errors

More code:

public function setUp()
{
parent::setUp();
$this->productRepository = m::mock('App\Repositories\ProductRepository');
$this->variantRepository = m::mock('App\Repositories\VariantRepository');
$this->request = m::mock('Illuminate\Http\Request');
$this->productController = new \App\Http\Controllers\Admin\ProductController($this->productRepository, $this->variantRepository);
}
public function tearDown()
{
m::close();
parent::tearDown();
}

public function testIndex()
{
    $this->productRepository->shouldReceive('paginate')->once()->andReturn(array());
    $response = $this->productController->getIndex($this->request);
    $this->assertEqual(array(), $response);
}