objectManager = Bootstrap::getObjectManager(); $this->model = $this->objectManager->get(Shipping::class); } /** * Checks shipping rates processing by address. * @covers \Magento\Shipping\Model\Shipping::collectRatesByAddress * @return Result */ public function testCollectRatesByAddress() { $address = $this->objectManager->create(DataObject::class, [ 'data' => [ 'region_id' => 'CA', 'postcode' => '11111', 'lastname' => 'John', 'firstname' => 'Doe', 'street' => 'Some street', 'city' => 'Los Angeles', 'email' => 'john.doe@example.com', 'telephone' => '11111111', 'country_id' => 'US', 'item_qty' => 1 ] ]); /** @var Shipping $result */ $result = $this->model->collectRatesByAddress($address, 'flatrate'); static::assertInstanceOf(Shipping::class, $result); return $result->getResult(); } /** * Checks shipping rate details for processed address. * @covers \Magento\Shipping\Model\Shipping::collectRatesByAddress * @param Result $result * @depends testCollectRatesByAddress * @magentoConfigFixture carriers/flatrate/active 1 * @magentoConfigFixture carriers/flatrate/price 5.00 */ public function testCollectRates(Result $result) { $rates = $result->getAllRates(); static::assertNotEmpty($rates); /** @var Method $rate */ $rate = array_pop($rates); static::assertInstanceOf(Method::class, $rate); static::assertEquals('flatrate', $rate->getData('carrier')); static::assertEquals(5, $rate->getData('price')); } }