test disambiguated episode action search
This commit is contained in:
parent
063c19654a
commit
a6a19df999
@ -3,9 +3,6 @@ declare(strict_types=1);
|
||||
|
||||
namespace tests\Integration\Controller;
|
||||
|
||||
require_once __DIR__ . '/../../Helper/DatabaseTransaction.php';
|
||||
require_once __DIR__ . '/../../Helper/Writer/TestWriter.php';
|
||||
|
||||
use OCA\GPodderSync\Controller\EpisodeActionController;
|
||||
use OCA\GPodderSync\Core\EpisodeAction\EpisodeActionSaver;
|
||||
use OCA\GPodderSync\Db\EpisodeAction\EpisodeActionEntity;
|
||||
|
@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
namespace tests\Integration;
|
||||
|
||||
use OCA\GPodderSync\Core\EpisodeAction\EpisodeActionSaver;
|
||||
use OCA\GPodderSync\Db\EpisodeAction\EpisodeActionRepository;
|
||||
use OCP\AppFramework\App;
|
||||
use Test\TestCase;
|
||||
|
||||
@ -45,4 +46,38 @@ class EpisodeActionSaverGuidBackwardCompatibilityTest extends TestCase
|
||||
self::assertNotNull($savedEpisodeActionEntityWithoutGuidFromOldDevice->getGuid());
|
||||
}
|
||||
|
||||
public function testDoNotFailToUpdateEpisodeActionByGuidIfThereIsAnotherWithTheSameValueForEpisodeUrl() : void
|
||||
{
|
||||
//arrange
|
||||
/** @var EpisodeActionSaver $episodeActionSaver */
|
||||
$episodeActionSaver = $this->container->get(EpisodeActionSaver::class);
|
||||
|
||||
$url = uniqid("https://podcast-mp3.dradio.de/");
|
||||
$urlWithParameter = $url . "?ref=never_know_if_ill_be_removed";
|
||||
|
||||
$podcastUrl = uniqid("https://podcast");
|
||||
|
||||
$episodeActionSaver->saveEpisodeActions(
|
||||
[["podcast" => $podcastUrl, "episode" => $url, "guid" => $urlWithParameter, "action" => "PLAY", "timestamp" => "2021-08-22T23:58:56", "started" => 35, "position" => 100, "total" => 2252]],
|
||||
self::USER_ID_0
|
||||
)[0];
|
||||
|
||||
$episodeActionSaver->saveEpisodeActions(
|
||||
[["podcast" => $podcastUrl, "episode" => $urlWithParameter, "guid" => $url, "action" => "PLAY", "timestamp" => "2021-08-22T23:58:56", "started" => 35, "position" => 100, "total" => 2252]],
|
||||
self::USER_ID_0
|
||||
)[0];
|
||||
|
||||
//act
|
||||
$episodeActionSaver->saveEpisodeActions(
|
||||
[["podcast" => $podcastUrl, "episode" => $urlWithParameter, "guid" => $url, "action" => "PLAY", "timestamp" => "2021-08-22T23:58:56", "started" => 35, "position" => 100, "total" => 2252]],
|
||||
self::USER_ID_0
|
||||
)[0];
|
||||
|
||||
//assert
|
||||
/** @var EpisodeActionRepository $episodeActionRepository */
|
||||
$episodeActionRepository = $this->container->get(EpisodeActionRepository::class);
|
||||
$this->assertSame(100, $episodeActionRepository->findByGuid($urlWithParameter, self::USER_ID_0)->getPosition());
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user