provider = new VersionProvider; } public function testGetModules() { Config::modify()->set(VersionProvider::class, 'modules', array( 'silverstripe/somepackage' => 'Some Package', 'silverstripe/hidden' => '', 'silverstripe/another' => 'Another' )); $result = $this->provider->getModules(); $this->assertArrayHasKey('silverstripe/somepackage', $result); $this->assertSame('Some Package', $result['silverstripe/somepackage']); $this->assertArrayHasKey('silverstripe/another', $result); $this->assertArrayNotHasKey('silverstripe/hidden', $result); } public function testGetModuleVersionFromComposer() { Config::modify()->set(VersionProvider::class, 'modules', array( 'silverstripe/framework' => 'Framework', 'silverstripe/siteconfig' => 'SiteConfig' )); $result = $this->provider->getModules(array('silverstripe/framework')); $this->assertArrayHasKey('silverstripe/framework', $result); $this->assertNotEmpty($result['silverstripe/framework']); } public function testGetVersion() { Config::modify()->set(VersionProvider::class, 'modules', array( 'silverstripe/framework' => 'Framework', 'silverstripe/siteconfig' => 'SiteConfig' )); $result = $this->provider->getVersion(); $this->assertContains('SiteConfig: ', $result); $this->assertContains('Framework: ', $result); $this->assertContains(', ', $result); } public function testGetModulesFromComposerLock() { $this->markTestSkipped('Unable to get this passing'); $mock = $this->getMockBuilder(VersionProvider::class) ->setMethods(array('getComposerLock')) ->getMock(); $mock->expects($this->once()) ->method('getComposerLock') ->will($this->returnValue(array( 'packages' => array( array( 'name' => 'silverstripe/somepackage', 'version' => '1.2.3' ), array( 'name' => 'silverstripe/another', 'version' => '2.3.4' ) ) ))); Config::modify()->set(VersionProvider::class, 'modules', array( 'silverstripe/somepackage' => 'Some Package' )); $result = $mock->getVersion(); $this->assertContains('Some Package: 1.2.3', $result); } }