/** * @param string $type * @return array */ protected function getIconForType($type) { if (isset($this->iconsProvider->getIcons()[$type])) { return $this->iconsProvider->getIcons()[$type]; } return ['url' => '', 'width' => 0, 'height' => 0]; }
/** * Create block for own configuration for each payment token * * @return void */ protected function createVaultBlocks() { $icons = $this->cardConfigProvider->getIcons(); $payments = $this->tokensProvider->getTokensComponents(); foreach ($payments as $key => $payment) { $this->addChild($key, $payment->getName(), array_merge(['id' => $key, 'icons' => $icons], $payment->getConfig())); } }
public function testGetConfig() { $imagesDirectoryPath = __DIR__ . '/../../../view/base/web/images/cc/'; $expectedResult = ['payment' => ['ccform' => ['icons' => ['vi' => ['url' => 'http://cc.card/vi.png', 'width' => getimagesize($imagesDirectoryPath . 'vi.png')[0], 'height' => getimagesize($imagesDirectoryPath . 'vi.png')[1]], 'ae' => ['url' => 'http://cc.card/ae.png', 'width' => getimagesize($imagesDirectoryPath . 'ae.png')[0], 'height' => getimagesize($imagesDirectoryPath . 'ae.png')[1]]]]]]; $ccAvailableTypesMock = ['vi' => ['fileId' => 'Magento_Payment::images/cc/vi.png', 'path' => $imagesDirectoryPath . 'vi.png', 'url' => 'http://cc.card/vi.png'], 'ae' => ['fileId' => 'Magento_Payment::images/cc/ae.png', 'path' => $imagesDirectoryPath . 'ae.png', 'url' => 'http://cc.card/ae.png']]; $assetMock = $this->getMock('\\Magento\\Framework\\View\\Asset\\File', [], [], '', false); $this->ccConfigMock->expects($this->once())->method('getCcAvailableTypes')->willReturn($ccAvailableTypesMock); $this->ccConfigMock->expects($this->atLeastOnce())->method('createAsset')->withConsecutive([$ccAvailableTypesMock['vi']['fileId']], [$ccAvailableTypesMock['ae']['fileId']])->willReturn($assetMock); $this->assetSourceMock->expects($this->atLeastOnce())->method('findRelativeSourceFilePath')->with($assetMock)->willReturnOnConsecutiveCalls($ccAvailableTypesMock['vi']['path'], $ccAvailableTypesMock['ae']['path']); $assetMock->expects($this->atLeastOnce())->method('getSourceFile')->willReturnOnConsecutiveCalls($ccAvailableTypesMock['vi']['path'], $ccAvailableTypesMock['ae']['path']); $assetMock->expects($this->atLeastOnce())->method('getUrl')->willReturnOnConsecutiveCalls($ccAvailableTypesMock['vi']['url'], $ccAvailableTypesMock['ae']['url']); $this->assertEquals($expectedResult, $this->model->getConfig()); }