Search in sources :

Example 6 with AttachmentsPane

use of org.xwiki.test.ui.po.AttachmentsPane in project xwiki-platform by xwiki.

the class AttachmentTest method testAttachAndViewGifImage.

/**
 * See XWIKI-5896: The image handling in the WYSIWYG-editor with GIF images is buggy.
 */
@Test
@IgnoreBrowsers({ @IgnoreBrowser(value = "internet.*", version = "8\\.*", reason = "See https://jira.xwiki.org/browse/XE-1146"), @IgnoreBrowser(value = "internet.*", version = "9\\.*", reason = "See https://jira.xwiki.org/browse/XE-1177") })
public void testAttachAndViewGifImage() {
    // Prepare the page to display the GIF image. We explicitly set the width to a value greater than the actual
    // image width because we want the code that resizes the image on the server side to be executed (even if the
    // image is not actually resized).
    ViewPage viewPage = getUtil().createPage(getClass().getSimpleName(), getTestMethodName(), String.format("[[image:image.gif||width=%s]]", (20 + RandomUtils.nextInt(0, 200))), getTestClassName());
    // TODO: Remove when XWIKI-6688 (Possible race condition when clicking on a tab at the bottom of a page in
    // view mode) is fixed.
    viewPage.waitForDocExtraPaneActive("comments");
    // Attach the GIF image.
    AttachmentsPane attachmentsPane = viewPage.openAttachmentsDocExtraPane();
    attachmentsPane.setFileToUpload(getClass().getResource("/image.gif").getPath());
    attachmentsPane.waitForUploadToFinish("image.gif");
    Assert.assertTrue(attachmentsPane.attachmentExistsByFileName("image.gif"));
}
Also used : AttachmentsPane(org.xwiki.test.ui.po.AttachmentsPane) ViewPage(org.xwiki.test.ui.po.ViewPage) IgnoreBrowsers(org.xwiki.test.ui.browser.IgnoreBrowsers) Test(org.junit.Test)

Example 7 with AttachmentsPane

use of org.xwiki.test.ui.po.AttachmentsPane in project xwiki-platform by xwiki.

the class CopyPageTest method testCopyPage.

@Test
@IgnoreBrowser(value = "internet.*", version = "8\\.*", reason = "See https://jira.xwiki.org/browse/XE-1146")
public void testCopyPage() throws Exception {
    String sourceSpaceName = getTestClassName();
    String sourcePageName = getTestMethodName();
    String targetSpaceName = getTestClassName() + "Copy";
    String targetPageName = getTestMethodName() + "Copy";
    // Delete page that may already exist
    getUtil().rest().deletePage(sourceSpaceName, sourcePageName);
    getUtil().rest().deletePage(targetSpaceName, targetPageName);
    // Create a new page that will be copied.
    ViewPage viewPage = getUtil().createPage(sourceSpaceName, sourcePageName, PAGE_CONTENT, sourcePageName);
    // Add an attachment to verify that it's version is not incremented in the target document (XWIKI-8157).
    // FIXME: Remove the following wait when XWIKI-6688 is fixed.
    viewPage.waitForDocExtraPaneActive("comments");
    AttachmentsPane attachmentsPane = viewPage.openAttachmentsDocExtraPane();
    attachmentsPane.setFileToUpload(getClass().getResource("/image.gif").getPath());
    attachmentsPane.waitForUploadToFinish("image.gif");
    Assert.assertEquals("1.1", attachmentsPane.getLatestVersionOfAttachment("image.gif"));
    // Click on Copy from the Page top menu.
    viewPage.copy();
    CopyPage copyPage = new CopyPage();
    // Check the source document
    Assert.assertEquals(Arrays.asList("", sourceSpaceName, sourcePageName), copyPage.getSourceLocation().getPath());
    Assert.assertEquals(sourceSpaceName, copyPage.getSourceSpaceName());
    Assert.assertEquals(sourcePageName, copyPage.getSourcePageName());
    // Check the default target document.
    DocumentPicker documentPicker = copyPage.getDocumentPicker();
    Assert.assertEquals(sourcePageName, documentPicker.getTitle());
    Assert.assertEquals(Arrays.asList("", sourceSpaceName, sourcePageName), documentPicker.getLocation().getPath());
    Assert.assertEquals(sourceSpaceName, copyPage.getTargetSpaceName());
    Assert.assertEquals(sourcePageName, copyPage.getTargetPageName());
    // Fill the target destination the page to be copied to.
    documentPicker.setTitle(targetPageName);
    // The target page name is updated based on the entered title.
    Assert.assertEquals(targetPageName, copyPage.getTargetPageName());
    documentPicker.waitForLocation(Arrays.asList("", sourceSpaceName, targetPageName));
    // Select a new parent document.
    documentPicker.toggleLocationAdvancedEdit().setParent(targetSpaceName);
    documentPicker.waitForLocation(Arrays.asList("", targetSpaceName, targetPageName));
    // Click copy button
    CopyOrRenameStatusPage copyStatusPage = copyPage.clickCopyButton().waitUntilFinished();
    // Check successful copy confirmation
    Assert.assertEquals(COPY_SUCCESSFUL, copyStatusPage.getInfoMessage());
    viewPage = copyStatusPage.gotoNewPage();
    Assert.assertEquals(Arrays.asList("", targetSpaceName, targetPageName), viewPage.getBreadcrumb().getPath());
    // Verify that the copied title is modified to be the new page name since it was set to be the page name
    // originally.
    Assert.assertEquals(targetPageName, viewPage.getDocumentTitle());
    Assert.assertEquals(PAGE_CONTENT, viewPage.getContent());
    // Verify the attachment version is the same (XWIKI-8157).
    // FIXME: Remove the following wait when XWIKI-6688 is fixed.
    viewPage.waitForDocExtraPaneActive("comments");
    attachmentsPane = viewPage.openAttachmentsDocExtraPane();
    Assert.assertEquals("1.1", attachmentsPane.getLatestVersionOfAttachment("image.gif"));
}
Also used : CopyOrRenameStatusPage(org.xwiki.test.ui.po.CopyOrRenameStatusPage) CopyPage(org.xwiki.index.test.po.CopyPage) AttachmentsPane(org.xwiki.test.ui.po.AttachmentsPane) ViewPage(org.xwiki.test.ui.po.ViewPage) DocumentPicker(org.xwiki.test.ui.po.DocumentPicker) Test(org.junit.Test) IgnoreBrowser(org.xwiki.test.ui.browser.IgnoreBrowser)

Aggregations

AttachmentsPane (org.xwiki.test.ui.po.AttachmentsPane)7 Test (org.junit.Test)6 ViewPage (org.xwiki.test.ui.po.ViewPage)6 IgnoreBrowsers (org.xwiki.test.ui.browser.IgnoreBrowsers)3 AbstractTest (org.xwiki.test.ui.AbstractTest)2 HashMap (java.util.HashMap)1 Before (org.junit.Before)1 Ignore (org.junit.Ignore)1 CopyPage (org.xwiki.index.test.po.CopyPage)1 AddTagsPane (org.xwiki.tag.test.po.AddTagsPane)1 TaggablePage (org.xwiki.tag.test.po.TaggablePage)1 IgnoreBrowser (org.xwiki.test.ui.browser.IgnoreBrowser)1 CommentsTab (org.xwiki.test.ui.po.CommentsTab)1 CopyOrRenameStatusPage (org.xwiki.test.ui.po.CopyOrRenameStatusPage)1 DeletingPage (org.xwiki.test.ui.po.DeletingPage)1 DocumentPicker (org.xwiki.test.ui.po.DocumentPicker)1 FormElement (org.xwiki.test.ui.po.FormElement)1 HistoryPane (org.xwiki.test.ui.po.HistoryPane)1 ClassEditPage (org.xwiki.test.ui.po.editor.ClassEditPage)1 ObjectEditPage (org.xwiki.test.ui.po.editor.ObjectEditPage)1