api = API::getInstance(); } public function testDoesIncludePluginTrackersAutomaticallyFailsIfNotEnoughPermission() { $this->expectException(\Piwik\NoAccessException::class); $this->expectExceptionMessage('checkUserHasSomeAdminAccess'); $this->setUser(); $this->api->doesIncludePluginTrackersAutomatically(); } public function testDoesIncludePluginTrackersAutomaticallyFailsIfNotEnoughPermissionAnonymous() { $this->expectException(\Piwik\NoAccessException::class); $this->expectExceptionMessage('checkUserHasSomeAdminAccess'); $this->setAnonymousUser(); $this->api->doesIncludePluginTrackersAutomatically(); } public function testDoesIncludePluginTrackersAutomaticallyReturnsValueWhenEnoughPermission() { $this->assertTrue($this->api->doesIncludePluginTrackersAutomatically()); } protected function setUser() { FakeAccess::clearAccess(false); FakeAccess::$identity = 'testUsername'; FakeAccess::$idSitesView = array(1); FakeAccess::$idSitesAdmin = array(); } protected function setAnonymousUser() { FakeAccess::clearAccess(); FakeAccess::$identity = 'anonymous'; } public function provideContainerConfig() { return array( 'Piwik\Access' => new FakeAccess(), ); } }