container = $app->getContainer(); $this->episodeActionWriter = $this->container->get(EpisodeActionWriter::class); $this->episodeActionMapper = $this->container->get(EpisodeActionMapper::class); $this->dbConnection = $this->container->get(IDBConnection::class); $this->migrationConfig = $this->container->get(AllConfig::class ); } /** * @before */ public function before() { $this->startTransaction(); } public function testTimestampConversionRepairStep() { $episodeActionEntity = new EpisodeActionEntity(); $episodeActionEntity->setPodcast("https://podcast_01.url"); $episodeActionEntity->setEpisode(uniqid("https://episode_01.url")); $episodeActionEntity->setAction("PLAY"); $episodeActionEntity->setPosition(5); $episodeActionEntity->setStarted(0); $episodeActionEntity->setTotal(123); $episodeActionEntity->setTimestamp("Sun Aug 22 23:58:56 GMT+00:00 2021"); $episodeActionEntity->setUserId(self::ADMIN); $guid = uniqid("self::TEST_GUID_1234"); $episodeActionEntity->setGuid($guid); $this->episodeActionWriter->save($episodeActionEntity); $episodeActionBeforeConversion = $this->episodeActionMapper->findByEpisodeIdentifier($guid, self::ADMIN); $this->assertEquals( 0, $episodeActionBeforeConversion->getTimestampEpoch() ); $timestampMigration = new TimestampMigration($this->dbConnection, $this->migrationConfig); $timestampMigration->run(new SimpleOutput(new Log(new TestWriter()), "gpoddersync")); $episodeActionAfterConversion = $this->episodeActionMapper->findByEpisodeIdentifier($guid, self::ADMIN); $this->assertSame( 1629676736, $episodeActionAfterConversion->getTimestampEpoch() ); } /** * @after */ public function after() { $this->rollbackTransation(); } }