public function OrderRefreshTest::testNeedsRefresh in Commerce Core 8.2
Tests the needsRefresh() logic.
File
- modules/
order/ tests/ src/ Kernel/ OrderRefreshTest.php, line 159
Class
- OrderRefreshTest
- Tests the order refresh process.
Namespace
Drupal\Tests\commerce_order\KernelCode
public function testNeedsRefresh() {
$order_refresh = $this
->createOrderRefresh();
// Non-draft order.
$this->order->state = 'completed';
$this
->assertEmpty($order_refresh
->needsRefresh($this->order));
$this->order->state = 'draft';
// Day-change, under refresh frequency.
$order_refresh = $this
->createOrderRefresh(mktime(0, 1, 0, 2, 24, 2016));
$this->order
->setChangedTime(mktime(23, 59, 59, 2, 23, 2016));
$this
->assertNotEmpty($order_refresh
->needsRefresh($this->order));
// Under refresh frequency.
$order_refresh = $this
->createOrderRefresh(mktime(23, 12, 0, 2, 24, 2016));
$this->order
->setChangedTime(mktime(23, 11, 0, 2, 24, 2016));
$this
->assertEmpty($order_refresh
->needsRefresh($this->order));
// Over refresh frequency.
$order_refresh = $this
->createOrderRefresh(mktime(23, 10, 0, 2, 24, 2016));
$this->order
->setChangedTime(mktime(23, 0, 0, 2, 24, 2016));
$this
->assertNotEmpty($order_refresh
->needsRefresh($this->order));
// Locked order.
$this->order
->lock();
$this
->assertFalse($order_refresh
->needsRefresh($this->order));
$this->order
->unlock();
$this
->assertTrue($order_refresh
->needsRefresh($this->order));
}