Package tests

Source Code of tests.BasicFunctions

package tests;

import static org.junit.Assert.*;
import static helper.SeleniumHelper.*;

import org.junit.Test;

import helper.SeleniumHelper.Node;

public class BasicFunctions extends BaseMindMapsTestCase {
  @Test
  public void testNewDocument() {
    clickNewDocumentButton();
    assertEquals(1, getNodeCount());
    assertTrue(selenium.isElementPresent(Root().get()));
    assertFalse(selenium.isElementPresent(Root().next().get()));
  }

  @Test
  public void testCreateNodeWithAddButton() {
    String nodeId = createNodeFromRoot();
    assertTrue(selenium.isElementPresent(nodeId));

    assertEquals("New Idea", selenium.getText(nodeId));
    assertTrue(selenium.isElementPresent(new Node(nodeId).text().selected()
        .get()));
  }

  @Test
  public void testChangeNodeCaptionWithDoubleClick() {
    selenium.doubleClick(Root().text().get());
    assertTrue(selenium.isElementPresent("caption-editor"));
    selenium.type("caption-editor", "test root");
    sendEnterKeyOnEditor();
    assertEquals("test root", selenium.getText(Root().text().get()));
  }

  @Test
  public void testDragAndDropNode() {
    String nodeId = createNodeFromRoot();

    Number nodePosLeft = selenium.getElementPositionLeft(nodeId);
    selenium.mouseOver(new Node(nodeId).text().get());
    selenium.mouseDown(new Node(nodeId).text().get());
    selenium.dragAndDrop(nodeId, "+200,+100");
    Number nodePosLeft2 = selenium.getElementPositionLeft(nodeId);
    assertEquals(200, nodePosLeft2.intValue() - nodePosLeft.intValue());
  }

  @Test
  public void testDeleteNode() {
    String nodeId = createNodeFromRoot();
    clickDeleteNodeButton();
    assertFalse(selenium.isElementPresent(nodeId));
  }

  @Test
  public void testUndoDeleteNode() {
    String nodeId = createNodeFromRoot();
    clickDeleteNodeButton();
    clickUndoButton();
    assertTrue(selenium.isElementPresent(nodeId));
  }

  @Test
  public void testRedoDeleteNode() {
    String nodeId = createNodeFromRoot();
    clickDeleteNodeButton();
    clickUndoButton();
    clickRedoButton();
    assertFalse(selenium.isElementPresent(nodeId));
  }

  @Test
  public void testCopyCutPasteNode() {
    clickCreateNodeButton();
    clickCreateNodeButton();
    clickCreateNodeButton();

    selenium.mouseDown(Root().next().text().get());
    clickCopyButton();
    selenium.mouseDown(Root().text().get());
    clickPasteButton();
    assertEquals(7, getNodeCount());
    selenium.mouseDown(Root().next().text().get());
    clickCutButton();
    assertEquals(4, getNodeCount());
    clickPasteButton();
    assertEquals(7, getNodeCount());
  }

  @Test
  public void testSaveLocalStorage() {
    clearLocalStorage();
    int lsLengthPast = Integer.valueOf(selenium
        .getEval("window.localStorage.length"));

    createAndSaveMapInLocalStorage();

    int lsLengthNow = Integer.valueOf(selenium
        .getEval("window.localStorage.length"));
    assertEquals(lsLengthPast + 1, lsLengthNow);
  }

  @Test
  public void testOpenMapFromLocalStorage() {
    clearLocalStorage();
    createAndSaveMapInLocalStorage();
    clickOpenDocumentButton();

    assertTrue(selenium.isTextPresent("Open mind map"));
    selenium.click("css=.localstorage-filelist tbody > tr > td > a");
    assertFalse(selenium.isTextPresent("Open mind map"));

    assertTrue(getNodeCount() > 1);
  }

  @Test
  public void testCloseMindMap() {
    clickCloseDocumentButton();
    assertEquals(0, getNodeCount());
  }

  @Test
  public void testCreateNodeByDragAndDrop() {
    int nodeCountPast = getNodeCount();
    selenium.mouseOver(Root().text().get());
    selenium.dragAndDrop("creator-wrapper", "+200, +0");
    int nodeCountNow = getNodeCount();
    assertEquals(nodeCountPast + 1, nodeCountNow);
  }

  @Test
  public void testFoldNode() {
    clickCreateNodeButton();
    clickCreateNodeButton();
    selenium.click(Root().next().foldButton().get());
    assertFalse(selenium.isVisible(Root().next().next().get()));

    selenium.click(Root().next().foldButton().get());
    assertTrue(selenium.isVisible(Root().next().next().get()));
  }

  @Test
  public void testChangeFontSize() {
    String nodeId = createNodeFromRoot();
    String stylePath = new Node(nodeId).style();

    String style = selenium.getAttribute(stylePath);
    Integer fontSizeBefore = getFontSize(style);
    assertNotNull(fontSizeBefore);

    // increase
    clickIncreaseFontSizeButton();
    style = selenium.getAttribute(stylePath);
    Integer fontSizePlus = getFontSize(style);
    assertTrue(fontSizePlus > fontSizeBefore);

    // decrease again. should be same as before
    clickDecreaseFontSizeButton();
    style = selenium.getAttribute(stylePath);
    Integer fontSizePlusMinus = getFontSize(style);
    assertTrue(fontSizeBefore == fontSizePlusMinus);

    clickDecreaseFontSizeButton();
    style = selenium.getAttribute(stylePath);
    Integer fontSizePlusMinusMinus = getFontSize(style);
    assertTrue(fontSizeBefore > fontSizePlusMinusMinus);
  }

  @Test
  public void testChangeFontWeight() {
    String nodeId = createNodeFromRoot();
    String stylePath = new Node(nodeId).text().style();

    String style = selenium.getAttribute(stylePath);
    String fontWeightBefore = getFontWeight(style);
    assertEquals("normal", fontWeightBefore);

    clickToggleFontBoldButton();
    style = selenium.getAttribute(stylePath);
    String fontWeightAfterClick = getFontWeight(style);
    assertEquals("bold", fontWeightAfterClick);

    clickToggleFontBoldButton();
    style = selenium.getAttribute(stylePath);
    String fontWeightAfterClickTwice = getFontWeight(style);
    assertEquals(fontWeightBefore, fontWeightAfterClickTwice);
  }

  @Test
  public void testChangeFontStyle() {
    String nodeId = createNodeFromRoot();
    String stylePath = new Node(nodeId).text().style();

    String style = selenium.getAttribute(stylePath);
    String fontStyleBefore = getFontStyle(style);
    assertEquals("normal", fontStyleBefore);

    clickToggleFontItalicButton();
    style = selenium.getAttribute(stylePath);
    String fontStyleAfterClick = getFontStyle(style);
    assertEquals("italic", fontStyleAfterClick);

    clickToggleFontItalicButton();
    style = selenium.getAttribute(stylePath);
    String fontStyleAfterClickTwice = getFontStyle(style);
    assertEquals(fontStyleBefore, fontStyleAfterClickTwice);
  }

  @Test
  public void testChangeFontUnderline() {
    String nodeId = createNodeFromRoot();
    String stylePath = new Node(nodeId).text().style();

    String style = selenium.getAttribute(stylePath);
    String fontUnderlineBefore = getTextDecoration(style);
    assertEquals("none", fontUnderlineBefore);

    clickToggleFontUnderlineButton();
    style = selenium.getAttribute(stylePath);
    String fontUnderlineAfterClick = getTextDecoration(style);
    assertEquals("underline", fontUnderlineAfterClick);

    clickToggleFontUnderlineButton();
    style = selenium.getAttribute(stylePath);
    String fontUnderlineAfterClickTwice = getTextDecoration(style);
    assertEquals(fontUnderlineBefore, fontUnderlineAfterClickTwice);
  }

  @Test
  public void testChangeNodeFontColor() {
    String nodeId = createNodeFromRoot();
    String stylePath = new Node(nodeId).text().style();

    String style = selenium.getAttribute(stylePath);
    String textColorBefore = getTextColor(style);

    // open and choose any color from color picker, close it
    selenium.click("css=a.miniColors-trigger");
    selenium.mouseDownAt("css=.miniColors-colors", "50,50");
    selenium.mouseDown("css=.miniColors-overlay");

    style = selenium.getAttribute(stylePath);
    String textColorAfter = getTextColor(style);
    assertFalse(textColorBefore.equals(textColorAfter));

    // chose second color
    selenium.click("css=a.miniColors-trigger");
    selenium.mouseDownAt("css=.miniColors-colors", "80,40");
    selenium.mouseDown("css=.miniColors-overlay");

    style = selenium.getAttribute(stylePath);
    String textColorAfterSecondTime = getTextColor(style);
    assertFalse(textColorAfter.equals(textColorAfterSecondTime));
  }

}
TOP

Related Classes of tests.BasicFunctions

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.