Validating Individual Shipping Methods
Out of the box Magium will select the first shipping method on the screen. But there might be some times when you need to validate a particular shipping method, or force an error to be thrown if a shipping method does not exist. ’tis now easy to do.
use Magium\Magento\AbstractMagentoTestCase;
class ShippingTest extends AbstractMagentoTestCase
{
public function testSelectShipping()
{
$this->setPaymentMethod('CashOnDelivery');
$this->setShippingMethod('ByName');
$this->getShippingMethod()->setName('Fixed');
}
}
Calling setName()
will search the shipping HTML to find the first match that contains the specified text. So if you have a shipping method called “Priority Mail 2-Day Small Flat Rate Box“, entering “Priority Mail” will also match it.
If you want to validate that a shipping method is not available set the expected exception for the test as
$this->setExpectedException('Magium\Magento\Actions\Checkout\ShippingMethods\NoSuchShippingMethodException');