/** * Test that changing a gateway gives the desired affects */ function test_change_gateway() { $order = new APP_Draft_Order(); // Default gateway should be empty $this->assertEmpty($order->get_gateway()); // Setting a new gateway should cause it to be returned $order->set_gateway('paypal'); $this->assertEquals('paypal', $order->get_gateway()); // Fail on Bad Gateway ID $return_value = $order->set_gateway('non-existant-gateway'); $this->assertFalse($return_value); // Failed calls should retain old value $this->assertEquals('paypal', $order->get_gateway()); // Clearing a gateway should set it to blank $order->clear_gateway(); $this->assertEmpty($order->get_gateway()); return true; }