getMockBuilder(Escaper::class) ->disableOriginalConstructor() ->getMock(); $escaper->expects($this->any()) ->method('escapeHtml') ->willReturnCallback( function ($str) { return 'ESCAPED:' .$str; } ); $context = $this->getMockBuilder(Context::class) ->disableOriginalConstructor() ->getMock(); $context->expects($this->any()) ->method('getEscaper') ->willReturn($escaper); $this->codes = $objectManager->getObject( Codes::class, ['context' => $context] ); } /** * Test rates codes grid column renderer. * * @param array $ratesCodes * @param string $expected * @see Magento\Tax\Block\Grid\Renderer\Codes::render * @dataProvider ratesCodesDataProvider */ public function testRenderCodes($ratesCodes, $expected) { $row = new DataObject(); $row->setTaxRatesCodes($ratesCodes); $this->assertEquals($expected, $this->codes->render($row)); } /** * Provider of rates codes and render expectations. * * @return array */ public function ratesCodesDataProvider() { return [ [['some_code'], 'ESCAPED:some_code'], [['some_code', 'some_code2'], 'ESCAPED:some_code, some_code2'], [[], ''], [null, ''], ]; } }