/** * Get all themes * * @return ThemePackage[] */ public function getThemes() { $themes = []; foreach ($this->componentRegistrar->getPaths(ComponentRegistrar::THEME) as $key => $path) { $themes[$key] = $this->factory->create($key, $path); } return $themes; }
public function testGetThemes() { $this->registrar->expects($this->once())->method('getPaths')->with(ComponentRegistrar::THEME)->willReturn(['theme1' => 'path1', 'theme2' => 'path2']); $themePackage = $this->getMock('\\Magento\\Framework\\View\\Design\\Theme\\ThemePackage', [], [], '', false); $this->factory->expects($this->exactly(2))->method('create')->withConsecutive(['theme1', 'path1'], ['theme2', 'path2'])->willReturn($themePackage); $actual = $this->object->getThemes(); $this->assertCount(2, $actual); foreach ($actual as $themePackage) { $this->assertSame($themePackage, $themePackage); } }