public function setUp() { $this->db = new Session(); $this->db->setAliases(['Address' => __NAMESPACE__ . '\\TestModel\\Address', 'BlogPost' => __NAMESPACE__ . '\\TestModel\\BlogPost', 'City' => __NAMESPACE__ . '\\TestModel\\City', 'Country' => __NAMESPACE__ . '\\TestModel\\Country', 'Post' => __NAMESPACE__ . '\\TestModel\\Post', 'PostTag' => __NAMESPACE__ . '\\TestModel\\PostTag', 'Profile' => __NAMESPACE__ . '\\TestModel\\Profile', 'Tag' => __NAMESPACE__ . '\\TestModel\\Tag', 'User' => __NAMESPACE__ . '\\TestModel\\User']); parent::setUp(); Container::clear(); }
public function setUp() { parent::setUp(); DB::setConfig(['dsn' => 'mysql:dbname=harp-orm/random-key;host=127.0.0.1', 'username' => 'root']); DB::get()->beginTransaction(); Container::clear(); }
/** * @coversNothing */ public function testRels() { $user = User::find(1); $user->name = 'New Name'; $user->isBlocked = true; $user->object = new SaveableObject(); $user->object->setVar('value'); $address = $user->getAddress(); $address->location = 'Somewhere else'; $address->zipCode = '1234'; $posts = $user->getPosts(); $post = $posts->getFirst(); $post->body = 'Changed Body'; $post = new Post(['title' => 'new post', 'body' => 'Lorem Ipsum', 'price' => 123.23]); $posts->add($post); $tags = Tag::whereIn('id', [1, 2])->load(); $post->getTags()->addModels($tags); $this->assertQueries(['SELECT `User`.* FROM `User` WHERE (`id` = 1) AND (`User`.`deletedAt` IS NULL) LIMIT 1', 'SELECT `Address`.* FROM `Address` WHERE (`id` IN (1))', 'SELECT `Post`.`class`, `Post`.* FROM `Post` WHERE (`userId` IN (1))', 'SELECT `Tag`.* FROM `Tag` WHERE (`id` IN (1, 2))']); User::save($user); $this->assertQueries(['SELECT `User`.* FROM `User` WHERE (`id` = 1) AND (`User`.`deletedAt` IS NULL) LIMIT 1', 'SELECT `Address`.* FROM `Address` WHERE (`id` IN (1))', 'SELECT `Post`.`class`, `Post`.* FROM `Post` WHERE (`userId` IN (1))', 'SELECT `Tag`.* FROM `Tag` WHERE (`id` IN (1, 2))', 'INSERT INTO `Post` (`id`, `title`, `body`, `price`, `tags`, `createdAt`, `updatedAt`, `publishedAt`, `userId`, `class`) VALUES (NULL, "new post", "Lorem Ipsum", "123.23", NULL, NULL, NULL, NULL, NULL, "Harp\\Harp\\Test\\TestModel\\Post")', 'INSERT INTO `PostTag` (`id`, `postId`, `tagId`) VALUES (NULL, NULL, 1), (NULL, NULL, 2)', 'UPDATE `User` SET `name` = "New Name", `isBlocked` = 1, `object` = "C:41:"Harp\\Harp\\Test\\Integration\\SaveableObject":22:{a:1:{i:0;s:5:"value";}}" WHERE (`id` = 1)', 'UPDATE `Address` SET `zipCode` = "1234", `location` = "Somewhere else" WHERE (`id` = 1)', 'UPDATE `Post` SET `body` = CASE `id` WHEN 1 THEN "Changed Body" ELSE `body` END, `userId` = CASE `id` WHEN 5 THEN 1 ELSE `userId` END WHERE (`id` IN (1, 5))', 'UPDATE `PostTag` SET `postId` = CASE `id` WHEN 4 THEN "5" WHEN 5 THEN "5" ELSE `postId` END WHERE (`id` IN (4, 5))']); Container::clear(); $user = User::find(1); $this->assertEquals('New Name', $user->name); $this->assertEquals('value', $user->object->getVar()); $this->assertEquals(true, $user->isBlocked); $address = $user->getAddress(); $this->assertEquals('Somewhere else', $address->location); $this->assertEquals('1234', $address->zipCode); $posts = $user->getPosts(); $post = $posts->getFirst(); $this->assertEquals('Changed Body', $post->body); $newPost = Post::where('title', 'new post')->loadFirst(); $this->assertTrue($posts->has($newPost)); $this->assertEquals([1, 2], $newPost->getTags()->get()->getIds()); }
public function setUp() { parent::setUp(); $this->logger = new TestLogger(); DB::setConfig(['dsn' => 'mysql:dbname=harp-orm/nested;host=127.0.0.1', 'username' => 'root']); DB::get()->setLogger($this->logger); DB::get()->beginTransaction(); Container::clear(); }
public function setUp() { parent::setUp(); $this->logger = new TestLogger(); DB::setConfig(['dsn' => 'mysql:dbname=harp-orm/range;host=127.0.0.1', 'username' => 'root', 'escaping' => DB::ESCAPING_MYSQL]); DB::get()->setLogger($this->logger); DB::get()->beginTransaction(); Container::clear(); }
public function setUp() { parent::setUp(); date_default_timezone_set('UTC'); $this->logger = new TestLogger(); DB::setConfig(['dsn' => 'mysql:dbname=harp-orm/timestamps;host=127.0.0.1', 'username' => 'root']); DB::get()->setLogger($this->logger); DB::get()->beginTransaction(); Container::clear(); TimestampsTrait::setCurrentDate(null); }
public function setUp() { parent::setUp(); $this->logger = new TestLogger(); Converter::initialize(new NullSource()); DB::setConfig(['dsn' => 'mysql:dbname=clippings/transfer;host=127.0.0.1', 'username' => 'root']); DB::get()->execute('ALTER TABLE Basket AUTO_INCREMENT = 1'); DB::get()->execute('ALTER TABLE ProductItem AUTO_INCREMENT = 1'); DB::get()->setLogger($this->logger); DB::get()->beginTransaction(); Container::clear(); }
public function setUp() { parent::setUp(); $this->logger = new TestLogger(); DB::setConfig(['dsn' => 'mysql:dbname=clippings/purchases;host=127.0.0.1', 'username' => 'root', 'escaping' => DB::ESCAPING_MYSQL]); Converter::initialize(new NullSource()); DB::get()->execute('ALTER TABLE PurchaseItem AUTO_INCREMENT = 6'); DB::get()->execute('ALTER TABLE StorePurchase AUTO_INCREMENT = 3'); DB::get()->setLogger($this->logger); DB::get()->beginTransaction(); Container::clear(); }
public function setUp() { parent::setUp(); Converter::initialize(new NullSource()); Container::clear(); }
/** * @covers ::get */ public function testGetActualClasses() { $class = 'Harp\\Harp\\Test\\TestModel\\Country'; $actual = 'Harp\\Harp\\Test\\TestModel\\City'; $this->assertEquals($class, Container::get($class)->getModelClass()); Container::setActualClass($class, $actual); $this->assertEquals($class, Container::get($class)->getModelClass()); Container::clear(); Container::setActualClass($class, $actual); $this->assertEquals($actual, Container::get($class)->getModelClass()); Container::clear(); $this->assertEquals($class, Container::get($class)->getModelClass()); }
/** * @covers ::initialize */ public function testInitialize() { Container::clear(); $reflection = new ReflectionModel('Harp\\Harp\\Test\\TestModel\\City'); $reflection->initialize(City::getRepo()->getConfig()); }