cc1  v2.1
CC1 source code docs
 All Classes Namespaces Files Functions Variables Pages
main_test.py
Go to the documentation of this file.
1 # -*- coding: utf-8 -*-
2 # @COPYRIGHT_begin
3 #
4 # Copyright [2010-2014] Institute of Nuclear Physics PAN, Krakow, Poland
5 #
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
9 #
10 # http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 #
18 # @COPYRIGHT_end
19 
20 # -*- coding: utf-8 -*-
21 ##
22 # @package src.wi.tests.main_test
23 #
24 # @author Piotr Wójcik
25 # @author Krzysztof Danielowski
26 # @date 11.10.2012
27 #
28 
29 from wi.tests import WiTestCase
30 import unittest
31 
32 
33 class MainTests(WiTestCase, unittest.TestCase):
34  def _test_news_create(self):
35  driver = self.driver
36  self.base_url = self.TEST_SERVER
37 
38  self.login_testuser(self.TEST_admin_cm)
39  driver.get(self.base_url + "/news/")
40 
41  self.wait_for_text("//a[@id='main_create_news']", ["Create a news entry"])
42 
43  driver.find_element_by_id("main_create_news").click()
44 
45  self.wait_for_text("//div[@id='dialog-div']/form/div/fieldset/div/span", ["Topic"])
46 
47  driver.find_element_by_id("id_topic").clear()
48  driver.find_element_by_id("id_topic").send_keys("witest")
49  driver.find_element_by_id("id_content").clear()
50  driver.find_element_by_id("id_content").send_keys("test")
51  driver.find_element_by_css_selector("button.ok-button.mid_button").click()
52 
53  self.wait_for_message(["News entry added."])
54 
55  driver.find_element_by_link_text("Logout").click()
56 
57  def _test_news_create_fail_required(self):
58  driver = self.driver
59  self.base_url = self.TEST_SERVER
60 
61  self.login_testuser(self.TEST_admin_cm)
62  driver.get(self.base_url + "/news/")
63 
64  self.wait_for_text("//a[@id='main_create_news']", ["Create a news entry"])
65 
66  driver.find_element_by_id("main_create_news").click()
67 
68  self.wait_for_text("//div[@id='dialog-div']/form/div/fieldset/div/span", ["Topic"])
69 
70  driver.find_element_by_id("id_topic").clear()
71  driver.find_element_by_id("id_content").clear()
72  driver.find_element_by_css_selector("button.ok-button.mid_button").click()
73 
74  self.wait_for_text("//div[@id='dialog-div']/form/div/fieldset/div[1]/ul/li", ["This field is required."])
75 
76  self.wait_for_text("//div[@id='dialog-div']/form/div/fieldset/div[2]/ul/li", ["This field is required."])
77 
78  driver.find_element_by_link_text("Logout").click()
79 
80  def _test_news_create_sticky(self):
81  driver = self.driver
82  self.base_url = self.TEST_SERVER
83 
84  self.login_testuser(self.TEST_admin_cm)
85  driver.get(self.base_url + "/news/")
86 
87  self.wait_for_text("//a[@id='main_create_news']", ["Create a news entry"])
88 
89  driver.find_element_by_id("main_create_news").click()
90 
91  self.wait_for_text("//div[@id='dialog-div']/form/div/fieldset/div/span", ["Topic"])
92 
93  driver.find_element_by_id("id_topic").clear()
94  driver.find_element_by_id("id_topic").send_keys("witest")
95  driver.find_element_by_id("id_content").clear()
96  driver.find_element_by_id("id_content").send_keys("test")
97  driver.find_element_by_id("id_sticky").click()
98  driver.find_element_by_css_selector("button.ok-button.mid_button").click()
99 
100  self.wait_for_message(["News entry added."])
101 
102  driver.find_element_by_link_text("Logout").click()
103 
104  def _test_news_edit(self, topic):
105  driver = self.driver
106  self.base_url = self.TEST_SERVER
107 
108  self.login_testuser(self.TEST_admin_cm)
109  driver.get(self.base_url + "/news/")
110 
111  self.wait_for_text("//div[@id='item-list']/div/div[2]", ["witest"])
112 
113  driver.find_element_by_id("main_edit_news").click()
114 
115  self.wait_for_text("//div[@id='dialog-div']/form/div/fieldset/div/span", ["Topic"])
116 
117  driver.find_element_by_id("id_topic").clear()
118  driver.find_element_by_id("id_topic").send_keys(topic)
119  driver.find_element_by_id("id_content").clear()
120  driver.find_element_by_id("id_content").send_keys("test2")
121  driver.find_element_by_id("id_sticky").click()
122  driver.find_element_by_css_selector("button.ok-button.mid_button").click()
123 
124  self.wait_for_message(["News entry edited."])
125 
126  driver.find_element_by_link_text("Logout").click()
127 
128  def _test_news_remove(self, topic):
129  driver = self.driver
130  self.base_url = self.TEST_SERVER
131 
132  self.login_testuser(self.TEST_admin_cm)
133  driver.get(self.base_url + "/news/")
134 
135  self.wait_for_text("//div[@id='item-list']/div/div[2]", [topic])
136 
137  driver.find_element_by_id("main_remove_news").click()
138 
139  self.wait_for_text("//div[@id='dialog-div']/p", ["Do you want to delete news entry"])
140 
141  driver.find_element_by_css_selector("button.ok-button.mid_button").click()
142 
143  self.wait_for_message(["You have successfully removed news entry"])
144 
145  driver.find_element_by_link_text("Logout").click()
146 
147  def test_1_simple(self):
148  self._test_news_create()
149  topic = 'witest'
150  self._test_news_edit(topic)
151  self._test_news_remove(topic)
152 
153  def test_2_fails(self):
155 
156  def test_3_utf8_edit(self):
157  self._test_news_create()
158  topic = u'ąśłęąĄŁŁ'
159  self._test_news_edit(topic)
160  self._test_news_remove(topic)
161