. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace tests\unit\Espo\ORM\Query\Part; use Espo\ORM\Query\Part\Order as OrderExpr; use Espo\ORM\Query\Part\Expression as Expr; class OrderExpressionTest extends \PHPUnit\Framework\TestCase { public function testCreate1(): void { $order = OrderExpr::fromString('test')->withDesc(); $this->assertEquals(Expr::create('test'), $order->getExpression()); $this->assertEquals(OrderExpr::DESC, $order->getDirection()); $this->assertEquals(true, $order->isDesc()); } public function testCreate2(): void { $order = OrderExpr::fromString('test'); $this->assertEquals(OrderExpr::ASC, $order->getDirection()); $this->assertEquals(false, $order->isDesc()); } public function testCreate3(): void { $order = OrderExpr::fromString('test')->withAsc(); $this->assertEquals(Expr::create('test'), $order->getExpression()); $this->assertEquals(OrderExpr::ASC, $order->getDirection()); $this->assertEquals(false, $order->isDesc()); } public function testCreate4(): void { $order = OrderExpr::fromString('test')->withDirection(OrderExpr::DESC); $this->assertEquals(OrderExpr::DESC, $order->getDirection()); } public function testReverseOrder(): void { $order = OrderExpr::fromString('test') ->withDirection(OrderExpr::DESC) ->withReverseDirection(); $this->assertEquals(OrderExpr::ASC, $order->getDirection()); } }