View Javadoc

1   /*
2    * Copyright 2006-2012 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl2.php
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  
17  package edu.samplu.krad.validationmessagesview;
18  
19  import edu.samplu.common.WebDriverLegacyITBase;
20  import junit.framework.Assert;
21  import org.junit.Test;
22  
23  /**
24   * @author Kuali Rice Team (rice.collab@kuali.org)
25   */
26  public class ServerInfoLegacyIT extends WebDriverLegacyITBase {
27      @Override
28      public String getTestUrl() {
29          return "/kr-krad/uicomponents?viewId=Demo-ValidationLayout&methodToCall=start";
30      }
31  
32      @Test
33      public void testServerInfoIT() throws Exception {
34          waitAndClickByXpath("//button[contains(.,'Get Info Messages')]");
35          waitIsVisibleByXpath("//div[@data-messagesfor='Demo-ValidationLayout-SectionsPage']");
36          //Thread.sleep(3000);
37          Assert.assertTrue(isVisibleByXpath("//div[@data-messagesfor='Demo-ValidationLayout-SectionsPage']"));
38          Assert.assertTrue(isElementPresent("div[data-messagesfor=\"Demo-ValidationLayout-SectionsPage\"] .uif-infoMessageItem"));
39          Assert.assertTrue(isVisible("div[data-messagesfor=\"Demo-ValidationLayout-Section1\"]"));
40          Assert.assertTrue(isElementPresent("div[data-messagesfor=\"Demo-ValidationLayout-Section1\"] .uif-infoMessageItem"));
41          Assert.assertTrue(isElementPresentByXpath("//div[@data-role='InputField']//img[@alt='Information']"));
42          fireMouseOverEventByXpath("//a[contains(.,'Field 1')]");
43          Assert.assertTrue(isElementPresent(".uif-infoHighlight"));
44          waitAndClickByXpath("//a[contains(.,'Field 1')]");
45          for (int second = 0;; second++) {
46              if (second >= 60) Assert.fail("timeout");
47              try { if (isVisible(".jquerybubblepopup-innerHtml")) break; } catch (Exception e) {}
48              Thread.sleep(1000);
49          }
50  
51          Assert.assertTrue(isVisible(".jquerybubblepopup-innerHtml > .uif-serverMessageItems"));
52          Assert.assertTrue(isVisible(".jquerybubblepopup-innerHtml > .uif-serverMessageItems .uif-infoMessageItem-field"));
53          waitAndTypeByName("field1", "");
54          fireEvent("field1", "blur");
55          fireEvent("field1", "focus");
56          for (int second = 0;; second++) {
57              if (second >= 60) Assert.fail("timeout");
58              try { if (isVisible(".jquerybubblepopup-innerHtml")) break; } catch (Exception e) {}
59              Thread.sleep(1000);
60          }
61  
62          Assert.assertTrue(isVisible(".jquerybubblepopup-innerHtml > .uif-serverMessageItems .uif-infoMessageItem-field"));
63          for (int second = 0;; second++) {
64              if (second >= 60) Assert.fail("timeout");
65              try { if (isVisible(".jquerybubblepopup-innerHtml > .uif-clientMessageItems")) break; } catch (Exception e) {}
66              Thread.sleep(1000);
67          }
68  
69          Assert.assertTrue(isVisible(".jquerybubblepopup-innerHtml > .uif-clientMessageItems  .uif-errorMessageItem-field"));
70          waitAndTypeByName("field1", "b");
71          fireEvent("field1", "blur");
72          fireEvent("field1", "focus");
73          for (int second = 0;; second++) {
74              if (second >= 60) Assert.fail("timeout");
75              try { if (!isElementPresent(".jquerybubblepopup-innerHtml > .uif-clientMessageItems")) break; } catch (Exception e) {}
76              Thread.sleep(1000);
77          }
78          fireEvent("field1", "blur");
79          Thread.sleep(3000);
80          Assert.assertTrue(!isVisible(".jquerybubblepopup-innerHtml > .uif-serverMessageItems .uif-infoMessageItem-field"));
81          Assert.assertFalse(isElementPresent(".jquerybubblepopup-innerHtml > .uif-clientMessageItems"));
82          fireEvent("field1", "focus");
83          clearTextByName("field1");
84          fireEvent("field1", "blur");
85          Assert.assertTrue(isElementPresent("div.uif-hasError"));
86          Assert.assertTrue(isElementPresent("img[src*=\"error.png\"]"));
87          passed();
88      }
89  }