/**
  * @expectedException \Thru\ActiveRecord\Exception
  * @expectedExceptionMessage No type hinting/docblock found for 'text_field' in 'Thru\ActiveRecord\Test\Models\TestModelBadHinting'.
  */
 public function testMissingDocHintWarningOnLoad()
 {
     $tmp = new TestModel();
     $tmp->text_field = $this->faker->paragraph;
     $tmp->integer_field = $this->faker->randomDigit;
     $tmp->date_field = $this->faker->datetime()->format(self::TIME_STORAGE_FORMAT);
     $tmp->save();
     SearchIndex::getInstance()->wipe();
     $j = TestModelBadHinting::search()->where('test_model_id', $tmp->test_model_id)->execOne();
 }
 public function testRange()
 {
     $test_model = new TestModel();
     $test_model->integer_field = 1;
     $test_model->text_field = "feh";
     $test_model->date_field = date("Y-m-d H:i:s");
     $test_model->save();
     $select = new Select("test_models");
     $select->range(0, 1);
     $result = $select->execute();
     $this->assertTrue(is_array($result));
     $this->assertEquals(1, count($result));
     $test_model->delete();
 }
Example #3
0
 public function testWorksWithoutMonolog()
 {
     $logger = DatabaseLayer::getInstance()->getLogger();
     DatabaseLayer::getInstance()->setLogger(null);
     TestModel::search()->exec();
     DatabaseLayer::getInstance()->setLogger($logger);
 }
 public function testModelToJson()
 {
     /* @var $test_model TestModel */
     $test_model = TestModel::factory();
     $test_model->integer_field = rand(0, 9999999);
     $test_model->text_field = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur congue nulla orci, consectetur faucibus augue feugiat finibus. Vivamus efficitur odio odio, id blandit diam porttitor condimentum. Nulla a quam augue. Phasellus at velit non diam posuere ultrices non ut felis. Fusce id ornare arcu. Duis nisl ipsum, vestibulum eget turpis eu, aliquam lobortis lectus. Mauris semper ipsum ullamcorper, aliquam purus quis, commodo nibh. Maecenas gravida, enim vitae posuere dignissim, orci leo tincidunt magna, a iaculis risus nulla ut arcu. Donec ullamcorper fermentum dui nec ullamcorper. Sed at finibus turpis. Ut ex justo, porta eu augue a, pulvinar ultrices elit. Suspendisse eget dolor accumsan, consequat nisi sed, dictum tortor. Etiam aliquet metus eget nunc placerat convallis. Ut ut nisl quis ante egestas auctor.\nSed luctus urna velit. Vestibulum sagittis eros sem, sit amet tristique mi varius et. Fusce ultrices tincidunt elit eget varius. Aliquam tincidunt suscipit urna bibendum dapibus. Aliquam lorem tortor, cursus sit amet fringilla a, blandit auctor diam. Vestibulum vel tincidunt dui. Pellentesque molestie aliquet enim rhoncus volutpat.\nUt varius sollicitudin posuere. Vestibulum rutrum leo urna, in dictum nisi consectetur sit amet. Aliquam consectetur nunc sed ipsum ullamcorper, id scelerisque sapien gravida. Phasellus nec mattis augue. Praesent consequat mauris ut mauris varius rutrum. Maecenas viverra ex nec varius cursus. Sed non rhoncus lorem.\nIn at lorem a nisi sollicitudin ornare eget at ligula. Ut sit amet odio fringilla, sollicitudin nunc vitae, viverra arcu. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Donec aliquet urna sit amet justo egestas, eget consectetur dui vulputate. Nam vitae lacinia magna, quis lobortis dolor. Sed id scelerisque felis. Ut porttitor sodales pulvinar. Morbi tincidunt varius velit in volutpat. Morbi malesuada sollicitudin sem, pulvinar sodales lacus congue sed. Praesent convallis aliquam porttitor. Donec cursus nisi eu mattis fermentum. Ut ut luctus lectus, a pretium neque. Nullam vel aliquam turpis.\nCras vitae efficitur sem. Quisque interdum neque lobortis lacus tincidunt, quis placerat augue condimentum. Morbi condimentum laoreet nunc id aliquam. Aenean elit ligula, ullamcorper vitae erat et, fermentum vehicula nisl. Praesent mattis massa tempor vehicula euismod. Integer sed orci et ex vulputate molestie. Fusce vel porta quam. Interdum et malesuada fames ac ante ipsum primis in faucibus. Praesent suscipit, lacus id iaculis molestie, lacus purus tempus neque, lobortis efficitur dolor sem in diam. Maecenas maximus ac orci auctor tristique. Nam lectus velit, egestas et molestie placerat, luctus nec magna. Curabitur dignissim blandit ullamcorper. Suspendisse sed libero vel dui imperdiet viverra. Mauris bibendum, magna ut imperdiet suscipit, nunc arcu blandit metus, interdum molestie enim diam sit amet lorem. Ut mauris ipsum, varius in risus vel, condimentum turpis duis.";
     $test_model->date_field = date("Y-m-d H:i:s");
     $model_json = $test_model->__toJson();
     $decoded = json_decode($model_json);
     $this->assertNotFalse($decoded);
     $this->assertTrue(property_exists($decoded, "_table"));
     $this->assertTrue(property_exists($decoded, "test_model_id"));
     $this->assertTrue(property_exists($decoded, "integer_field"));
     $this->assertTrue(property_exists($decoded, "text_field"));
     $this->assertTrue(property_exists($decoded, "date_field"));
     $this->assertTrue(property_exists($decoded, "_label_column"));
     $this->assertTrue(property_exists($decoded, "_columns"));
     $this->assertEquals("test_models", $decoded->_table);
     $this->assertEquals(null, $decoded->test_model_id);
     $this->assertEquals($test_model->integer_field, $decoded->integer_field);
     $this->assertEquals($test_model->text_field, $decoded->text_field);
     $this->assertEquals($test_model->date_field, $decoded->date_field);
     $this->assertEquals(null, $decoded->_label_column);
     $this->assertEquals("test_model_id", $decoded->_columns[0]);
     $this->assertEquals("integer_field", $decoded->_columns[1]);
     $this->assertEquals("text_field", $decoded->_columns[2]);
     $this->assertEquals("date_field", $decoded->_columns[3]);
 }
 public function tearDown()
 {
     TestModel::deleteTable();
     TestModelExtendedTypes::deleteTable();
     TestModelWithNameLabel::deleteTable();
     TestModelSortable::deleteTable();
     TestModelSearchOnly::deleteTable();
 }
Example #6
0
 public function setUp()
 {
     $this->base = new \Thru\ActiveRecord\DatabaseLayer\Sql\Base();
     $this->mysql = new \Thru\ActiveRecord\DatabaseLayer\Sql\Mysql();
     TestModel::deleteTable();
     TestModelExtendedTypes::deleteTable();
     TestModelWithNameLabel::deleteTable();
     TestModelSortable::deleteTable();
     TestModelSearchOnly::deleteTable();
 }
Example #7
0
 /**
  * @expectedException \PHPUnit_Framework_Error_Deprecated
  * @expectedExceptionMessage getTablePrimaryKey() is deprecated. Use getIDField() instead.
  */
 public function testCheckGetTablePrimaryKeyDeprecated()
 {
     $testModel = new TestModel();
     $testModel->getTablePrimaryKey();
 }
Example #8
0
 public function testDumbModelFetchOne()
 {
     $result = DumbModel::queryOne("SELECT * FROM " . TestModel::factory()->getTableName());
     $this->assertEquals("stdClass", get_class($result));
     return $result;
 }