Sonata\Tests\Component\Product\BaseProductServiceTest::testOrderElement PHP Method

testOrderElement() public method

public testOrderElement ( )
    public function testOrderElement()
    {
        $product = $this->getMock('Sonata\\Component\\Product\\ProductInterface');
        $product->expects($this->any())->method('getId')->will($this->returnValue(42));
        $product->expects($this->any())->method('getName')->will($this->returnValue('Product name'));
        $product->expects($this->any())->method('getPrice')->will($this->returnValue(9.99));
        $product->expects($this->any())->method('getOptions')->will($this->returnValue(array('foo' => 'bar')));
        $product->expects($this->any())->method('getDescription')->will($this->returnValue('product description'));
        $productProvider = new ProductProviderTest($this->getMock('JMS\\Serializer\\SerializerInterface'));
        $productProvider->setCurrencyPriceCalculator(new CurrencyPriceCalculator());
        $productManager = $this->getMock('Sonata\\Component\\Product\\ProductManagerInterface');
        $productDefinition = new ProductDefinition($productProvider, $productManager);
        $basketElement = new BasketElement();
        $basketElement->setProduct('product_code', $product);
        $basketElement->setProductDefinition($productDefinition);
        $provider = $this->getBaseProvider();
        $orderElement = $provider->createOrderElement($basketElement);
        $this->assertInstanceOf('Sonata\\Component\\Order\\OrderElementInterface', $orderElement);
        $this->assertEquals(OrderInterface::STATUS_PENDING, $orderElement->getStatus());
        $this->assertEquals('Product name', $orderElement->getDesignation());
        $this->assertEquals(1, $orderElement->getQuantity());
    }