/** * @covers \KodiCMS\Assets\Assets::loadPackage * @covers \KodiCMS\Assets\Assets::getPackages * @covers \KodiCMS\Assets\Assets::removePackages */ public function testLoadPackage() { $manager = $this->assets->packageManager(); $package1 = m::mock(\KodiCMS\Assets\Package::class); $package1->shouldReceive('getName')->once()->andReturn('test'); $package1->shouldReceive('hasDependencies')->once()->andReturn(true); $package1->shouldReceive('getDependencies')->once()->andReturn(['test2']); $package2 = m::mock(\KodiCMS\Assets\Package::class); $package2->shouldReceive('getName')->once()->andReturn('test1'); $package2->shouldReceive('hasDependencies')->once()->andReturn(false); $package2->shouldNotReceive('getDependencies'); $package3 = m::mock(\KodiCMS\Assets\Package::class); $package3->shouldReceive('getName')->once()->andReturn('test2'); $package3->shouldReceive('hasDependencies')->once()->andReturn(false); $package3->shouldNotReceive('getDependencies'); $package4 = m::mock(\KodiCMS\Assets\Package::class); $package4->shouldReceive('getName')->once()->andReturn('test3'); $package4->shouldNotReceive('hasDependencies'); $package4->shouldNotReceive('getDependencies'); $manager->add($package1); $manager->add($package2); $manager->add($package3); $manager->add($package4); $this->assets->loadPackage('test', 'test1'); $this->assets->loadPackage('test1', 'test2'); static::assertCount(3, $this->assets->loadedPackages()); static::assertEquals(['test', 'test2', 'test1'], $this->assets->loadedPackages()); $this->assets->removePackages(); static::assertCount(0, $this->assets->loadedPackages()); }