db

Форк
0
/
InsertTest.php 
40 строк · 1.2 Кб
1
<?php
2

3
namespace Upside\Db\Test\SQL;
4

5
use Upside\Db\SQL\Expression;
6

7
class InsertTest extends BaseClass
8
{
9
    public function testInsertSingleValue()
10
    {
11
        $expected = 'INSERT INTO "users" ("age") VALUES (18)';
12
        $actual = $this->db->insert(['age' => 18])->into('users');
13
        $this->assertEquals($expected, $actual);
14
    }
15

16
    public function testInsertMultipleValues()
17
    {
18
        $expected = 'INSERT INTO "users" ("name", "age") VALUES (\'foo\', 18)';
19
        $actual = $this->db->insert(['name' => 'foo', 'age' => 18])->into('users');
20
        $this->assertEquals($expected, $actual);
21
    }
22

23
    public function testInsertBooleanValues()
24
    {
25
        $expected = 'INSERT INTO "test" ("foo", "bar") VALUES (TRUE, FALSE)';
26
        $actual = $this->db->insert(['foo' => true, 'bar' => false])->into('test');
27
        $this->assertEquals($expected, $actual);
28
    }
29

30
    public function testInsertExpressions()
31
    {
32
        $expected = 'INSERT INTO "users" ("name") VALUES (LCASE( \'foo\' ))';
33
        $actual = $this->db->insert([
34
            'name' => function (Expression $expr) {
35
                $expr->{'LCASE('}->value('foo')->{')'};
36
            },
37
        ])->into('users');
38
        $this->assertEquals($expected, $actual);
39
    }
40
}

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.