37 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
namespace nur\sery\db\sqlite;
 | 
						|
 | 
						|
use PHPUnit\Framework\TestCase;
 | 
						|
 | 
						|
class SqliteTest extends TestCase {
 | 
						|
  const CREATE_PERSON = "create table person(nom varchar, prenom varchar, age integer)";
 | 
						|
  const INSERT_JEPHTE = "insert into person(nom, prenom, age) values ('clain', 'jephte', 50)";
 | 
						|
  const INSERT_JEAN = "insert into person(nom, prenom, age) values ('payet', 'jean', 32)";
 | 
						|
 | 
						|
  function testMigration() {
 | 
						|
    $sqlite = new Sqlite(":memory:", [
 | 
						|
      "migrate" => [
 | 
						|
        self::CREATE_PERSON,
 | 
						|
        self::INSERT_JEPHTE,
 | 
						|
      ],
 | 
						|
    ]);
 | 
						|
    self::assertSame("clain", $sqlite->get("select nom, age from person"));
 | 
						|
    self::assertSame([
 | 
						|
      "nom" => "clain",
 | 
						|
      "age" => 50,
 | 
						|
    ], $sqlite->get("select nom, age from person", null, true));
 | 
						|
 | 
						|
    $sqlite->exec(self::INSERT_JEAN);
 | 
						|
    self::assertSame("payet", $sqlite->get("select nom, age from person where nom = 'payet'"));
 | 
						|
    self::assertSame([
 | 
						|
      "nom" => "payet",
 | 
						|
      "age" => 32,
 | 
						|
    ], $sqlite->get("select nom, age from person where nom = 'payet'", null, true));
 | 
						|
 | 
						|
    self::assertSame([
 | 
						|
      ["key" => "0", "value" => self::CREATE_PERSON, "done" => 1],
 | 
						|
      ["key" => "1", "value" => self::INSERT_JEPHTE, "done" => 1],
 | 
						|
    ], iterator_to_array($sqlite->all("select key, value, done from _migration")));
 | 
						|
  }
 | 
						|
}
 |