forked from laravel/framework
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDatabaseSchemaBuilderTest.php
More file actions
executable file
·39 lines (30 loc) · 1.37 KB
/
DatabaseSchemaBuilderTest.php
File metadata and controls
executable file
·39 lines (30 loc) · 1.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
use Mockery as m;
use Illuminate\Database\Schema\Builder;
class DatabaseSchemaBuilderTest extends PHPUnit_Framework_TestCase {
public function tearDown()
{
m::close();
}
public function testHasTableCorrectlyCallsGrammar()
{
$connection = m::mock('Illuminate\Database\Connection');
$grammar = m::mock('StdClass');
$connection->shouldReceive('getSchemaGrammar')->andReturn($grammar);
$builder = new Builder($connection);
$grammar->shouldReceive('compileTableExists')->once()->andReturn('sql');
$connection->shouldReceive('getTablePrefix')->once()->andReturn('prefix_');
$connection->shouldReceive('select')->once()->with('sql', array('prefix_table'))->andReturn(array('prefix_table'));
$this->assertTrue($builder->hasTable('table'));
}
public function testTableHasColumns()
{
$connection = m::mock('Illuminate\Database\Connection');
$grammar = m::mock('StdClass');
$connection->shouldReceive('getSchemaGrammar')->andReturn($grammar);
$builder = m::mock('Illuminate\Database\Schema\Builder[getColumnListing]', array($connection));
$builder->shouldReceive('getColumnListing')->with('users')->twice()->andReturn(array('id', 'firstname'));
$this->assertTrue($builder->hasColumns('users', array('id', 'firstname')));
$this->assertFalse($builder->hasColumns('users', array('id', 'address')));
}
}