AuthorBooks\Tests\BookModelTest::testLoadOrCreate PHP Метод

testLoadOrCreate() публичный Метод

public testLoadOrCreate ( )
    public function testLoadOrCreate()
    {
        $results = array();
        $b = new Book();
        $ret = $b->create(array('title' => 'Should Not Load This'));
        result_ok($ret);
        $results[] = $ret;
        $ret = $b->create(array('title' => 'LoadOrCreateTest'));
        result_ok($ret);
        $results[] = $ret;
        $id = $b->id;
        ok($id);
        $ret = $b->loadOrCreate(array('title' => 'LoadOrCreateTest'), 'title');
        result_ok($ret);
        is($id, $b->id, 'is the same ID');
        $results[] = $ret;
        $b2 = new Book();
        $ret = $b2->loadOrCreate(array('title' => 'LoadOrCreateTest'), 'title');
        result_ok($ret);
        is($id, $b2->id);
        $results[] = $ret;
        $ret = $b2->loadOrCreate(array('title' => 'LoadOrCreateTest2'), 'title');
        result_ok($ret);
        ok($b2);
        ok($id != $b2->id, 'we should create anther one');
        $results[] = $ret;
        $b3 = new Book();
        $ret = $b3->loadOrCreate(array('title' => 'LoadOrCreateTest3'), 'title');
        result_ok($ret);
        ok($b3);
        ok($id != $b3->id, 'we should create anther one');
        $results[] = $ret;
        $b3->delete();
        foreach ($results as $r) {
            $book = new Book();
            $book->load($r->id);
            if ($book->id) {
                $book->delete();
            }
        }
    }