Sonata\Tests\Component\Delivery\SelectorTest::testGetAvailableMethodsWithRequiredAddressDelivery PHP Method

testGetAvailableMethodsWithRequiredAddressDelivery() public method

Provide a delivery method that require an address but none is provided.
    public function testGetAvailableMethodsWithRequiredAddressDelivery()
    {
        $deliveryPool = $this->getMock('Sonata\\Component\\Delivery\\Pool');
        $productPool = new ProductPool();
        $basket = $this->getMock('Sonata\\Component\\Basket\\Basket');
        $basketElement = $this->getMock('Sonata\\Component\\Basket\\BasketElement');
        $product = $this->getMock('Sonata\\Tests\\Component\\Delivery\\Product');
        $delivery = $this->getMock('Sonata\\Component\\Product\\DeliveryInterface');
        $delivery->expects($this->any())->method('getCode')->will($this->returnValue('deliveryTest'));
        $serviceDelivery = $this->getMock('Sonata\\Component\\Delivery\\BaseServiceDelivery');
        $serviceDelivery->expects($this->any())->method('getCode')->will($this->returnValue('deliveryTest'));
        $serviceDelivery->expects($this->any())->method('getEnabled')->will($this->returnValue(true));
        $serviceDelivery->expects($this->any())->method('isAddressRequired')->will($this->returnValue(true));
        $deliveryPool->expects($this->any())->method('getMethod')->will($this->returnValue($serviceDelivery));
        $basket->expects($this->once())->method('getBasketElements')->will($this->returnValue(array($basketElement)));
        $basketElement->expects($this->once())->method('getProduct')->will($this->returnValue($product));
        $product->expects($this->once())->method('getDeliveries')->will($this->returnValue(array($delivery)));
        $selector = new Selector($deliveryPool, $productPool);
        $this->assertEquals(array(), $selector->getAvailableMethods($basket));
    }