Assert.assertEquals("installed", uninstallPlan.get(1).getStatus());
Assert.assertEquals("Installed", uninstallPlan.get(1).getStatusMessage());
// Check the confirmation to delete the unused wiki pages.
extensionPane = extensionPane.confirm();
UnusedPagesPane unusedPages = extensionPane.openProgressSection().getUnusedPages();
Assert.assertTrue(unusedPages.contains("ExtensionTest", "Alice"));
Assert.assertTrue(unusedPages.contains("ExtensionTest", "Bob"));
// Finish the uninstall and check the log.
extensionPane = extensionPane.confirm();
List<LogItemPane> log = extensionPane.openProgressSection().getJobLog();
Assert.assertTrue(log.size() > 2);
Assert.assertEquals("info", log.get(2).getLevel());
Assert.assertEquals("Resolving extension [bob-xar-extension 2.5-milestone-2] from namespace [Home]", log
.get(2).getMessage());
Assert.assertEquals("info", log.get(log.size() - 1).getLevel());
Assert.assertEquals("Finished job of type [uninstall] with identifier "
+ "[extension/action/bob-xar-extension/wiki:xwiki]", log.get(log.size() - 1).getMessage());
// Check if the uninstalled pages have been deleted.
Assert.assertFalse(getUtil().pageExists("ExtensionTest", "Alice"));
Assert.assertFalse(getUtil().pageExists("ExtensionTest", "Bob"));
// Install both extension again and uninstall only the one with the dependency.
getExtensionTestUtils().install(extensionId);
adminPage = ExtensionAdministrationPage.gotoPage().clickInstalledExtensionsSection();
extensionPane = adminPage.getSearchBar().clickAdvancedSearch().search(extensionId).getExtension(0);
extensionPane = extensionPane.uninstall();
// Check the uninstall plan. Only one extension should be included.
uninstallPlan = extensionPane.openProgressSection().getJobPlan();
Assert.assertEquals(1, uninstallPlan.size());
Assert.assertEquals(extensionId, uninstallPlan.get(0).getId());
// Check the confirmation to delete the unused wiki pages.
extensionPane = extensionPane.confirm();
unusedPages = extensionPane.openProgressSection().getUnusedPages();
Assert.assertTrue(unusedPages.contains("ExtensionTest", "Alice"));
Assert.assertFalse(unusedPages.contains("ExtensionTest", "Bob"));
// Finish the uninstall and check the log.
log = extensionPane.confirm().openProgressSection().getJobLog();
Assert.assertTrue(log.size() > 2);
Assert.assertEquals("info", log.get(2).getLevel());