public function testFetch()
 {
     $addressMock = $this->getMockBuilder('Magento\\Quote\\Model\\Quote\\Address')->disableOriginalConstructor()->setMethods(['getDiscountAmount', 'getDiscountDescription', 'addTotal', '__wakeup'])->getMock();
     $addressMock->expects($this->once())->method('getDiscountAmount')->willReturn(10);
     $addressMock->expects($this->once())->method('getDiscountDescription')->willReturn('test description');
     $this->assertInstanceOf('Magento\\SalesRule\\Model\\Quote\\Discount', $this->discount->fetch($addressMock));
 }
 public function testFetch()
 {
     $discountAmount = 100;
     $discountDescription = 100;
     $expectedResult = ['code' => 'discount', 'value' => 100, 'title' => __('Discount (%1)', $discountDescription)];
     $quoteMock = $this->getMock('\\Magento\\Quote\\Model\\Quote', [], [], '', false);
     $totalMock = $this->getMock('\\Magento\\Quote\\Model\\Quote\\Address\\Total', ['getDiscountAmount', 'getDiscountDescription'], [], '', false);
     $totalMock->expects($this->once())->method('getDiscountAmount')->willReturn($discountAmount);
     $totalMock->expects($this->once())->method('getDiscountDescription')->willReturn($discountDescription);
     $this->assertEquals($expectedResult, $this->discount->fetch($quoteMock, $totalMock));
 }