objectManager = Bootstrap::getObjectManager(); $this->collectDataService = $this->objectManager->get(CollectData::class); $this->mediaDirectory = $this->objectManager->get(Filesystem::class)->getDirectoryWrite(DirectoryList::MEDIA); $this->removeAnalyticsDirectory(); } /** * @inheritdoc */ protected function tearDown(): void { $this->removeAnalyticsDirectory(); parent::tearDown(); } /** * @magentoConfigFixture current_store analytics/subscription/enabled 1 * @magentoConfigFixture default/analytics/general/token 123 * * @return void */ public function testExecute(): void { $this->collectDataService->execute(); $this->assertTrue( $this->mediaDirectory->isDirectory('analytics'), 'Analytics was not created' ); $files = $this->mediaDirectory->getDriver() ->readDirectoryRecursively($this->mediaDirectory->getAbsolutePath('analytics')); $file = array_filter($files, function ($element) { return substr($element, -8) === 'data.tgz'; }); $this->assertNotEmpty($file, 'File was not created'); } /** * Remove Analytics directory * * @return void */ private function removeAnalyticsDirectory(): void { $directoryToRemove = $this->mediaDirectory->getAbsolutePath('analytics'); if ($this->mediaDirectory->isDirectory($directoryToRemove)) { $this->mediaDirectory->delete($directoryToRemove); } } }