public function testShouldGetCollection()
{
// Set
$pool = m::mock(Pool::class);
$this->app->instance(Pool::class, $pool);
$connection = m::mock(Connection::class);
$database = m::mock(Database::class);
$connection->mongolid = $database;
$database->collection_name = m::mock(Collection::class);
$model = new class extends MongolidModel
{
protected $collection = 'collection_name';
public function rawCollection()
{
return $this->collection();
}
};
// Expectations
$pool->shouldReceive('getConnection')->once()->withAnyArgs()->andReturn($connection);
$connection->shouldReceive('getRawConnection')->once()->with()->andReturnSelf();
// Actions
$result = $model->rawCollection();
// Assertions
$this->assertEquals($database->collection_name, $result);
}