@Test(dataProvider = "journal") public void testBrowseLatestIssueFromLatestVolume(Journal journal) { // set journal to have a null currentIssue Issue originalIssue = journal.getCurrentIssue(); journal.setCurrentIssue(null); dummyDataStore.update(journal); try { assertEquals(action.execute(), BaseActionSupport.SUCCESS, "Action didn't return success"); IssueInfo issueInfo = action.getIssueInfo(); assertNotNull(issueInfo, "action had null issue info"); // Load up latest volume w/ dummy datastore to defeat lazy-loaded issues Long volumeId = journal.getVolumes().get(journal.getVolumes().size() - 1).getID(); Volume latestVolume = dummyDataStore.get(Volume.class, volumeId); Issue latestIssue = latestVolume.getIssues().get(latestVolume.getIssues().size() - 1); assertEquals( issueInfo.getIssueURI(), latestIssue.getIssueUri(), "action had incorrect issue uri"); assertEquals( issueInfo.getDescription(), latestIssue.getDescription(), "action had incorrect issue description"); assertEquals( action.getVolumeInfo().getVolumeUri(), latestVolume.getVolumeUri(), "action had incorrect volume"); } finally { // reset state journal.setCurrentIssue(originalIssue); dummyDataStore.update(journal); } }