コード例 #1
0
// * * * ECOMMERCE I18N SETTINGS
EcommerceCurrency::setDecimalDelimiter('.');
EcommerceCurrency::setThousandDelimiter('');
Object::useCustomClass('SS_Datetime', 'I18nDatetime', true);
// * * * SHOPPING CART, ORDER, MODIFIERS
Order::set_email(null);
Order::set_receipt_subject("Shop Sale Information #%d");
Order::set_modifiers(array(), true);
Order::set_table_overview_fields(array('ID' => 'Order No', 'Created' => 'Created', 'FirstName' => 'First Name', 'Surname' => 'Surname', 'Total' => 'Total', 'Status' => 'Status'));
Order::set_maximum_ignorable_sales_payments_difference(0.01);
Order::set_order_id_start_number(0);
Order::set_cancel_before_payment(true);
Order::set_cancel_before_processing(false);
Order::set_cancel_before_sending(false);
Order::set_cancel_after_sending(false);
OrderForm::set_user_membership_optional(false);
OrderForm::set_force_membership(true);
OrderManipulation::set_allow_cancelling(false);
OrderManipulation::set_allow_paying(false);
// * * * PRODUCTS
ProductsAndGroupsModelAdmin::set_managed_models(array("Product", "ProductGroup", "ProductVariation", "ProductAttributeType"));
Product_Image::set_thumbnail_size(140, 100);
Product_Image::set_content_image_width(200);
Product_Image::set_large_image_width(200);
ProductGroup::set_include_child_groups(true);
ProductGroup::set_must_have_price(true);
ProductGroup::set_sort_options(array('Title' => 'Alphabetical', 'Price' => 'Lowest Price'));
// * * * CHECKOUT
ExpiryDateField::set_short_months(true);
OrderFormWithoutShippingAddress::set_fixed_country_code(null);
OrderFormWithoutShippingAddress::set_postal_code_url("http://www.nzpost.co.nz/Cultures/en-NZ/OnlineTools/PostCodeFinder");
コード例 #2
0
 function testNoMemberOrder()
 {
     //TODO: test configuration that deines non-member orders
     //adjust configuration to allow non member orders
     OrderForm::set_user_membership_optional(true);
     OrderForm::set_force_membership(false);
     $socks = $this->objFromFixture('Product', 'socks');
     $this->get(ShoppingCart::add_item_link($socks->ID));
     //add a different product
     $cart = ShoppingCart::current_order();
     $this->placeOrder('Donald', 'Duck', '*****@*****.**', '4 The Strand', null, 'Melbourne', null, 'AU');
     $order = DataObject::get_by_id('Order', $cart->ID);
     $this->assertNotNull($order, 'Order exists');
     if ($order) {
         $this->assertEquals($order->Status, 'Unpaid', 'status is now "unpaid"');
         $this->assertEquals($order->MemberID, 0, 'No associated member');
         $this->assertEquals($order->Total(), 8, 'grand total');
         $this->assertEquals($order->TotalOutstanding(), 8, 'total outstanding');
         $this->assertEquals($order->TotalPaid(), 0, 'total outstanding');
         $this->assertEquals($order->FirstName, 'Donald', 'order first name');
         $this->assertEquals($order->Surname, 'Duck', 'order surname');
         $this->assertEquals($order->Email, '*****@*****.**', 'order email');
         $this->assertEquals($order->Address, '4 The Strand');
         $this->assertNull($order->AddressLine2, 'order address2');
         $this->assertEquals($order->City, 'Melbourne', 'order city');
         $this->assertNull($order->PostalCode, 'order postcode');
         $this->assertEquals($order->Country, 'AU', 'order country');
     }
     ShoppingCart::clear();
     //cleanup
 }