Esempio n. 1
0
 public function test_retrieve_order()
 {
     $order = APP_Order_Factory::create();
     $receipt = APP_Order_Receipt::retrieve($order->get_id());
     // Receipt should contain the same values as the original
     $this->assertEquals($order->get_id(), $receipt->get_id());
     $this->assertEquals($order->get_description(), $receipt->get_description());
     $this->assertEquals($order->get_author(), $receipt->get_author());
     $this->assertEquals($order->get_ip_address(), $receipt->get_ip_address());
     $this->assertEquals($order->get_return_url(), $receipt->get_return_url());
     $this->assertEquals($order->get_cancel_url(), $receipt->get_cancel_url());
     $this->assertEquals($order->get_total(), $receipt->get_total());
     $this->assertEquals($order->get_currency(), $receipt->get_currency());
     // Customized Data should also retain their value
     $order = APP_Order_Factory::create();
     $order->set_description('New Description');
     $order->add_item('test', 100, $order->get_id());
     $receipt = APP_Order_Receipt::retrieve($order->get_id());
     $this->assertEquals($order->get_id(), $receipt->get_id());
     $this->assertEquals($order->get_description(), $receipt->get_description());
     $this->assertEquals($order->get_author(), $receipt->get_author());
     $this->assertEquals($order->get_ip_address(), $receipt->get_ip_address());
     $this->assertEquals($order->get_return_url(), $receipt->get_return_url());
     $this->assertEquals($order->get_cancel_url(), $receipt->get_cancel_url());
     $this->assertEquals($order->get_total(), $receipt->get_total());
     $this->assertEquals($order->get_currency(), $receipt->get_currency());
 }
/**
 * Creates a blank order object, or upgrades a draft order
 * @param  APP_Draft_order $draft_order A draft order to be upgraded
 * @return APP_Order                    An order object representing the new order
 */
function appthemes_new_order($draft_order = null)
{
    if (!empty($draft_order)) {
        return APP_Draft_Order::upgrade($draft_order);
    } else {
        return APP_Order_Factory::create();
    }
}
Esempio n. 3
0
 public function test_creating_order_recieves_default_currency()
 {
     // Create Mock Options Array
     add_theme_support('app-price-format', array('currency_default' => 'GBP'));
     $this->order = APP_Order_Factory::create();
     // Default currency should be the code in the options
     $this->assertEquals('GBP', $this->order->get_currency());
 }
Esempio n. 4
0
 /**
  * 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;
 }
Esempio n. 5
0
 public function test_upgrade_order()
 {
     $order = new APP_Draft_Order();
     $order->set_description('Draft');
     $order->set_gateway('paypal');
     $order->set_currency('EUR');
     // We need an existing order that can be connected to
     $real_order = APP_Order_Factory::create();
     $status = $order->add_item('test', 5, $real_order->get_id());
     $new_real_order = APP_Draft_Order::upgrade($order);
     $this->assertEquals('Draft', $new_real_order->get_description());
     $this->assertEquals('paypal', $new_real_order->get_gateway());
     $this->assertEquals('EUR', $new_real_order->get_currency());
     $this->assertCount(1, $new_real_order->get_items());
     $this->assertEquals(5, $new_real_order->get_total());
 }