Exemplo n.º 1
0
 public function testGetOneBy()
 {
     $field_key = 'external_url';
     // Cleanup
     Keyword::deleteAll();
     // Create posts
     for ($i = 0; $i < 100; $i++) {
         $keyword = new Keyword();
         $keyword->name = sprintf('keyword %d', $i);
         $keyword->{$field_key} = $i;
         $keyword->save();
     }
     // Less than
     $this->assertInstanceOf('Keyword', Keyword::getOneBy($field_key, 1, '<'));
     // Less than or equal to
     $this->assertInstanceOf('Keyword', Keyword::getOneBy($field_key, 1, '<='));
     // Equal to implicit
     $this->assertInstanceOf('Keyword', Keyword::getOneBy($field_key, 1));
     // Equal to explicit
     $this->assertInstanceOf('Keyword', Keyword::getOneBy($field_key, 1, '='));
     // Greater than
     $this->assertInstanceOf('Keyword', Keyword::getOneBy($field_key, 1, '>'));
     // Greater than or equal to
     $this->assertInstanceOf('Keyword', Keyword::getOneBy($field_key, 1, '>='));
     // Order ASC
     $args = array('orderby' => $field_key, 'order' => 'ASC');
     $keyword = Keyword::getOneBy($field_key, '1', '>', $args);
     $this->assertInstanceOf('Keyword', $keyword);
     $this->assertEquals('10', $keyword->{$field_key});
     // Order DESC
     $args = array('orderby' => $field_key, 'order' => 'DESC');
     $keyword = Keyword::getOneBy($field_key, '1', '>', $args);
     $this->assertInstanceOf('Keyword', $keyword);
     $this->assertEquals('99', $keyword->{$field_key});
 }