/** * @covers Cradle\Sql\Model::insert * @covers Cradle\Sql\Model::getMeta * @covers Cradle\Sql\Model::getValidColumns */ public function testInsert() { $instance = $this->object->insert('foo'); $this->assertInstanceOf('Cradle\\Sql\\Model', $instance); $this->assertEquals(123, $this->object->getFoobarId()); $instance = $this->object->setTable('foo')->insert(); $this->assertInstanceOf('Cradle\\Sql\\Model', $instance); $this->assertEquals(123, $this->object->getFoobarId()); $triggered = false; try { $this->object = new Model(); $this->object->setFoobarTitle('Foo Bar 1')->setFoobarDate('January 12, 2015')->setFooDate(1234567890)->insert(); } catch (SqlException $e) { $triggered = true; } $this->assertTrue($triggered); $triggered = false; try { $this->object = new Model(); $this->object->setFoobarTitle('Foo Bar 1')->setFoobarDate('January 12, 2015')->setFooDate(1234567890)->insert('foo'); } catch (SqlException $e) { $triggered = true; } $this->assertTrue($triggered); $triggered = false; try { $this->object = new Model(); $this->object->setFoobarTitle('Foo Bar 1')->setFoobarDate('January 12, 2015')->setFooDate(1234567890)->insert('foo', new AbstractSqlStub()); } catch (SqlException $e) { $triggered = true; } $this->assertFalse($triggered); }