/** * Test that changing the description updates the return of get_description() properly */ function test_change_description() { $order = new APP_Draft_Order(); // Default description should be 'Transaction' (unless theme is localized) $this->assertEquals('Transaction', $order->get_description()); // Setting a new description should cause it to be returned $order->set_description('Test Description'); $this->assertEquals('Test Description', $order->get_description()); }
/** * Upgrrades a Draft Order to a Main Order * @param APP_Draft_Order $draft_order The draft order to Upgrade * @return APP_Order An upgraded order */ public static function upgrade($draft_order) { if (!$draft_order instanceof APP_Draft_Order) { trigger_error('Invalid draft order given. Must be instance of APP_Draft_Order'); } $order = APP_Order_Factory::create(); $order->set_description($draft_order->get_description()); $order->set_gateway($draft_order->get_gateway()); $order->set_currency($draft_order->get_currency()); foreach ($draft_order->get_items() as $item) { $order->add_item($item['type'], $item['price'], $item['post_id']); } return $order; }
/** * Test creating a draft order and upgrading it */ public function test_draft_order_creation() { $order = appthemes_new_order(); $this->assertNotEmpty($order); $draft_order = new APP_Draft_Order(); $draft_order->set_description('Draft'); $draft_order->set_gateway('paypal'); $draft_order->set_currency('EUR'); $draft_order->add_item('test', 5, $order->get_id()); $this->assertEquals('Draft', $draft_order->get_description()); $this->assertEquals('paypal', $draft_order->get_gateway()); $this->assertEquals('EUR', $draft_order->get_currency()); $this->assertEquals(5, $draft_order->get_total()); $this->assertCount(1, $draft_order->get_items()); $new_order = appthemes_new_order($draft_order); $this->assertEquals('Draft', $new_order->get_description()); $this->assertEquals('paypal', $new_order->get_gateway()); $this->assertEquals('EUR', $new_order->get_currency()); $this->assertEquals(5, $new_order->get_total()); $this->assertCount(1, $new_order->get_items()); }