public function testBeforeToHtmlWhenQuoteIsNotVirtual()
 {
     $quote = $this->_getQuoteMock();
     $quote->expects($this->any())->method('getIsVirtual')->will($this->returnValue(false));
     $quote->setMayEditShippingMethod('MayEditShippingMethod');
     $shippingRate = new \Magento\Framework\DataObject(['code' => 'Rate 1']);
     $shippingRates = [[$shippingRate]];
     $quote->getShippingAddress()->expects($this->any())->method('getGroupedAllShippingRates')->will($this->returnValue($shippingRates));
     $quote->getShippingAddress()->expects($this->any())->method('getShippingMethod')->will($this->returnValue($shippingRate->getCode()));
     $this->model->setQuote($quote);
     $this->model->toHtml();
     $this->assertEquals($this->model->getPaymentMethodTitle(), $quote->getPayment()->getMethodInstance()->getTitle());
     $this->assertTrue($this->model->getShippingRateRequired());
     $this->assertSame($shippingRates, $this->model->getShippingRateGroups());
     $this->assertSame($shippingRate, $this->model->getCurrentShippingRate());
     $this->assertNotNull($this->model->getCanEditShippingAddress());
     $this->assertEquals($quote->getMayEditShippingMethod(), $this->model->getCanEditShippingMethod());
     $this->assertContains('paypal/express/saveShippingMethod', $this->model->getShippingMethodSubmitUrl());
     $this->assertContains('paypal/express/edit', $this->model->getEditUrl());
     $this->assertContains('paypal/express/placeOrder', $this->model->getPlaceOrderUrl());
 }