示例#1
0
 public function testSinglePageConfig()
 {
     ShopTest::setConfiguration();
     //start a new order
     $order = new Order();
     $order->write();
     $config = new SinglePageCheckoutComponentConfig($order);
     $components = $config->getComponents();
     //assertions!
     $fields = $config->getFormFields();
     //assertions!
     $required = $config->getRequiredFields();
     //assertions!
     //$validateData = $config->validateData($data);
     //assertions!
     $data = $config->getData();
     //assertions!
     $config->setData($data);
     //assertions!
     //form field generation
     //validate data
     //set data
     //get data
     $this->markTestIncomplete('Lots missing here');
 }
 public function testSinglePageConfig()
 {
     $order = new Order();
     //start a new order
     $order->write();
     $config = new SinglePageCheckoutComponentConfig($order);
     $customerdetailscomponent = $config->getComponentByType("CustomerDetailsCheckoutComponent");
     $customerdetailscomponent->setData($order, array("FirstName" => "Ed", "Surname" => "Hillary", "Email" => "*****@*****.**"));
     $shippingaddresscomponent = $config->getComponentByType("ShippingAddressCheckoutComponent");
     $shippingaddresscomponent->setData($order, $this->address1->toMap());
     $billingaddresscomponent = $config->getComponentByType("BillingAddressCheckoutComponent");
     $billingaddresscomponent->setData($order, $this->address2->toMap());
     $paymentcomponent = $config->getComponentByType("PaymentCheckoutComponent");
     $paymentcomponent->setData($order, array("PaymentMethod" => "Dummy"));
     $notescomponent = $config->getComponentByType("NotesCheckoutComponent");
     $notescomponent->setData($order, array("Notes" => "Please bring coffee with goods"));
     $termscomponent = $config->getComponentByType("TermsCheckoutComponent");
     $termscomponent->setData($order, array("ReadTermsAndConditions" => true));
     $components = $config->getComponents();
     $this->assertContainsOnlyInstancesOf("CheckoutComponent_Namespaced", $components, "Name of ArrayList is CheckoutComponent_Namespaced");
     $this->assertContains("CustomerDetailsCheckoutComponent", print_r($components, true));
     $this->assertContains("ShippingAddressCheckoutComponent", print_r($components, true));
     $this->assertContains("BillingAddressCheckoutComponent", print_r($components, true));
     $this->assertContains("PaymentCheckoutComponent", print_r($components, true));
     $this->assertContains("NotesCheckoutComponent", print_r($components, true));
     $this->assertContains("TermsCheckoutComponent", print_r($components, true));
     $fields = $config->getFormFields();
     $this->assertContains("CustomerDetailsCheckoutComponent_FirstName", print_r($fields, true), "Form Fields should contain a CustomerDetailsCheckoutComponent_FirstName field");
     $this->assertContains("CustomerDetailsCheckoutComponent_Surname", print_r($fields, true), "Form Fields should contain a CustomerDetailsCheckoutComponent_Surname field");
     $this->assertContains("CustomerDetailsCheckoutComponent_Email", print_r($fields, true), "Form Fields should contain a CustomerDetailsCheckoutComponent_Email field");
     $this->assertContains("ShippingAddressCheckoutComponent_Country", print_r($fields, true), "Form Fields should contain a ShippingAddressCheckoutComponent_Country field");
     $this->assertContains("ShippingAddressCheckoutComponent_Address", print_r($fields, true), "Form Fields should contain a ShippingAddressCheckoutComponent_Address field");
     $this->assertContains("ShippingAddressCheckoutComponent_City", print_r($fields, true), "Form Fields should contain a ShippingAddressCheckoutComponent_City field");
     $this->assertContains("ShippingAddressCheckoutComponent_State", print_r($fields, true), "Form Fields should contain a ShippingAddressCheckoutComponent_State field");
     $this->assertContains("BillingAddressCheckoutComponent_Country", print_r($fields, true), "Form Fields should contain a BillingAddressCheckoutComponent_Country field");
     $this->assertContains("BillingAddressCheckoutComponent_Address", print_r($fields, true), "Form Fields should contain a BillingAddressCheckoutComponent_Address field");
     $this->assertContains("BillingAddressCheckoutComponent_City", print_r($fields, true), "Form Fields should contain a BillingAddressCheckoutComponent_City field");
     $this->assertContains("BillingAddressCheckoutComponent_State", print_r($fields, true), "Form Fields should contain a BillingAddressCheckoutComponent_State field");
     $this->assertNotContains("rubbish", print_r($fields, true), "Form Field should not include 'rubbish'");
     $required = $config->getRequiredFields();
     $requiredfields = array("CustomerDetailsCheckoutComponent_FirstName", "CustomerDetailsCheckoutComponent_Surname", "CustomerDetailsCheckoutComponent_Email", "ShippingAddressCheckoutComponent_Country", "ShippingAddressCheckoutComponent_State", "ShippingAddressCheckoutComponent_City", "ShippingAddressCheckoutComponent_Address", "BillingAddressCheckoutComponent_Country", "BillingAddressCheckoutComponent_State", "BillingAddressCheckoutComponent_City", "BillingAddressCheckoutComponent_Address");
     $this->assertSame($requiredfields, $required, "getRequiredFields function returns required fields from numerous components");
     $data = $config->getData();
     $this->assertEquals("Ed", $data["CustomerDetailsCheckoutComponent_FirstName"]);
     $this->assertEquals("Hillary", $data["CustomerDetailsCheckoutComponent_Surname"]);
     $this->assertEquals("*****@*****.**", $data["CustomerDetailsCheckoutComponent_Email"]);
     $this->assertEquals("AU", $data["ShippingAddressCheckoutComponent_Country"]);
     $this->assertEquals("South Australia", $data["ShippingAddressCheckoutComponent_State"]);
     $this->assertEquals("WEST BEACH", $data["ShippingAddressCheckoutComponent_City"]);
     $this->assertEquals("5024", $data["ShippingAddressCheckoutComponent_PostalCode"]);
     $this->assertEquals("201-203 BROADWAY AVE", $data["ShippingAddressCheckoutComponent_Address"]);
     $this->assertEquals("U 235", $data["ShippingAddressCheckoutComponent_AddressLine2"]);
     $this->assertEquals("NZ", $data["BillingAddressCheckoutComponent_Country"]);
     $this->assertEquals("Ipsum", $data["BillingAddressCheckoutComponent_State"]);
     $this->assertEquals("Lorem", $data["BillingAddressCheckoutComponent_City"]);
     $this->assertEquals("1234", $data["BillingAddressCheckoutComponent_PostalCode"]);
     $this->assertEquals("2 Foobar Ave", $data["BillingAddressCheckoutComponent_Address"]);
     $this->assertEquals("U 235", $data["BillingAddressCheckoutComponent_AddressLine2"]);
     $this->assertEquals("Dummy", $data["PaymentCheckoutComponent_PaymentMethod"]);
     $this->assertEquals("Please bring coffee with goods", $data["NotesCheckoutComponent_Notes"]);
     $validateData = $config->validateData($data);
     $this->assertTrue($validateData, print_r($validateData, true), "Data validation must return true" . print_r($validateData, true));
     $config->setData($data);
     //assertions!
     //form field generation
     //validate data
     //set data
     //get data
     $this->markTestIncomplete('Lots missing here');
 }