diff options
author | Martin Fietz <Martin.Fietz@gmail.com> | 2016-03-24 11:52:51 +0100 |
---|---|---|
committer | Martin Fietz <Martin.Fietz@gmail.com> | 2016-03-24 11:52:51 +0100 |
commit | 4cc31d4be97b35608771ddf7eabee98c9dc3252c (patch) | |
tree | 4f2226f967fad46740ce7f178f0eaf8ff5c95e9b /app/src/androidTest/java/de/test/antennapod/storage | |
parent | 8a0f6cb5296ed2e2bf4d360b1c8e1dabb193bb88 (diff) | |
download | AntennaPod-4cc31d4be97b35608771ddf7eabee98c9dc3252c.zip |
Reset episode to new if episode file is added later
Diffstat (limited to 'app/src/androidTest/java/de/test/antennapod/storage')
-rw-r--r-- | app/src/androidTest/java/de/test/antennapod/storage/DBTasksTest.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/app/src/androidTest/java/de/test/antennapod/storage/DBTasksTest.java b/app/src/androidTest/java/de/test/antennapod/storage/DBTasksTest.java index ceaf91080..3d4e78f8f 100644 --- a/app/src/androidTest/java/de/test/antennapod/storage/DBTasksTest.java +++ b/app/src/androidTest/java/de/test/antennapod/storage/DBTasksTest.java @@ -5,12 +5,14 @@ import android.test.FlakyTest; import android.test.InstrumentationTestCase; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.Date; import java.util.List; import de.danoeh.antennapod.core.feed.Feed; import de.danoeh.antennapod.core.feed.FeedItem; +import de.danoeh.antennapod.core.feed.FeedMedia; import de.danoeh.antennapod.core.preferences.UserPreferences; import de.danoeh.antennapod.core.storage.DBReader; import de.danoeh.antennapod.core.storage.DBTasks; @@ -120,6 +122,32 @@ public class DBTasksTest extends InstrumentationTestCase { updatedFeedTest(feedFromDB, feedID, itemIDs, NUM_ITEMS_OLD, NUM_ITEMS_NEW); } + public void testUpdateFeedMediaUrlResetState() { + final Feed feed = new Feed("url", null, "title"); + FeedItem item = new FeedItem(0, "item", "id", "link", new Date(), FeedItem.PLAYED, feed); + feed.setItems(Arrays.asList(item)); + + PodDBAdapter adapter = PodDBAdapter.getInstance(); + adapter.open(); + adapter.setCompleteFeed(feed); + adapter.close(); + + // ensure that objects have been saved in db, then reset + assertTrue(feed.getId() != 0); + assertTrue(item.getId() != 0); + + FeedMedia media = new FeedMedia(item, "url", 1024, "mime/type"); + item.setMedia(media); + feed.setItems(Arrays.asList(item)); + + final Feed newFeed = DBTasks.updateFeed(context, feed)[0]; + assertTrue(feed != newFeed); + + final Feed feedFromDB = DBReader.getFeed(newFeed.getId()); + final FeedItem feedItemFromDB = feedFromDB.getItems().get(0); + assertTrue("state: " + feedItemFromDB.getState(), feedItemFromDB.isNew()); + } + private void updatedFeedTest(final Feed newFeed, long feedID, List<Long> itemIDs, final int NUM_ITEMS_OLD, final int NUM_ITEMS_NEW) { assertTrue(newFeed.getId() == feedID); assertTrue(newFeed.getItems().size() == NUM_ITEMS_NEW + NUM_ITEMS_OLD); |