Skip to content

Commit dc9c4d6

Browse files
committed
Frontend js unit tests #676
1 parent d03dc7a commit dc9c4d6

File tree

3 files changed

+106
-0
lines changed

3 files changed

+106
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
Pull Request:
2+
https://github.com/codebendercc/codebender.cc/pull/676
3+
4+
Selenium_Test_Script
5+
6+
Homepage Test Caces:
7+
test_sketches_counters.py : Check that the counters of the sketches are correct.
8+
9+
10+
Login and visit the new home page.
11+
Create 2 public sketches
12+
Create 2 private sketches
13+
Check that when the page loads, the loading screen appears and message "Loading the Sketches, please wait" is displayed.
14+
Check that the counters:
15+
Public sketches (blue) have the correct value.
16+
Private sketches (purple) have the correct value.
17+
Check that the counter for private projects also appears at the Badges section and has the correct value.
18+
Check that if your account has private projects (e.g. 2) and all yor projects are public, counter for available private sketches should be 0/number of total private sketches(e.g. 0/2) and the link to the private sketches should be Add more.
19+
20+
Check that the number of private projects available is updated each time that you make a change (e.g from private to public and vice versa).
21+
Change the privite sketch to public
22+
Change the public to private
23+
24+
25+
26+

tests/common/sketches_counters/__init__.py

Whitespace-only changes.
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
from codebender_testing.utils import SeleniumTestCase
2+
from selenium import webdriver
3+
from selenium.webdriver.common.by import By
4+
from selenium.webdriver.common.keys import Keys
5+
from selenium.webdriver.support.ui import Select
6+
from selenium.common.exceptions import NoSuchElementException
7+
from selenium.common.exceptions import NoAlertPresentException
8+
import unittest, time, re
9+
10+
class TestSketchesCounters(SeleniumTestCase):
11+
12+
def test_sketches_counters(self):
13+
self.driver = webdriver.Firefox()
14+
self.driver.implicitly_wait(30)
15+
self.base_url = "https://staging.codebender.cc/"
16+
self.verificationErrors = []
17+
self.accept_next_alert = True
18+
driver = self.driver
19+
driver.get(self.base_url + "/")
20+
driver.find_element_by_id("login_btn").click()
21+
driver.find_element_by_id("username").clear()
22+
driver.find_element_by_id("username").send_keys("demo_user")
23+
driver.find_element_by_id("password").clear()
24+
driver.find_element_by_id("password").send_keys("testerPASS")
25+
driver.find_element_by_id("_submit").click()
26+
driver.find_element_by_id("create_sketch_btn").click()
27+
28+
29+
driver.find_element_by_id("create-sketch-modal-action-button").click()
30+
time.sleep(5)
31+
driver.find_element_by_id("logo_small").click()
32+
driver.find_element_by_id("create_sketch_btn").click()
33+
driver.find_element_by_id("create-sketch-modal-action-button").click()
34+
time.sleep(5)
35+
driver.find_element_by_id("logo_small").click()
36+
driver.find_element_by_id("create_sketch_btn").click()
37+
driver.find_element_by_xpath("(//input[@name='create-sketch-modal-title'])[2]").click()
38+
driver.find_element_by_id("create-sketch-modal-action-button").click()
39+
time.sleep(5)
40+
driver.find_element_by_id("logo_small").click()
41+
driver.find_element_by_id("create_sketch_btn").click()
42+
driver.find_element_by_xpath("(//input[@name='create-sketch-modal-title'])[2]").click()
43+
driver.find_element_by_id("create-sketch-modal-action-button").click()
44+
time.sleep(5)
45+
driver.find_element_by_id("logo_small").click()
46+
assert driver.find_element_by_id("private-sketches-counter").text=="2"
47+
assert driver.find_element_by_id("public-sketches-counter").text=="2"
48+
assert driver.find_element_by_id("privateProjectAvailableNumber").text=="0"
49+
assert driver.find_element_by_id("available-private-projects-counter").text=="0/2"
50+
assert "Add more"==driver.find_element_by_link_text("Add more").text
51+
52+
#Private-->Public
53+
driver.find_element_by_link_text("Edit Info").click()
54+
time.sleep(5)
55+
driver.find_element_by_name("edit-sketch-modal-title").click()
56+
driver.find_element_by_id("edit-sketch-modal-action-button").click()
57+
time.sleep(5)
58+
assert driver.find_element_by_id("private-sketches-counter").text=="1"
59+
assert driver.find_element_by_id("public-sketches-counter").text=="3"
60+
61+
#Public-->Private
62+
driver.find_element_by_link_text("Edit Info").click()
63+
time.sleep(5)
64+
driver.find_element_by_xpath("(//input[@name='edit-sketch-modal-title'])[2]").click()
65+
driver.find_element_by_id("edit-sketch-modal-action-button").click()
66+
time.sleep(5)
67+
assert driver.find_element_by_id("private-sketches-counter").text=="2"
68+
assert driver.find_element_by_id("public-sketches-counter").text=="2"
69+
#for x in range(0, 3):
70+
# driver.find_element_by_css_selector("i.fa.fa-trash").click()
71+
# driver.find_element_by_css_selector("div.modal-footer.delete-sketch-modal-footer > button.btn.delete-sketch-modal-button").click()
72+
#driver.find_element_by_css_selector("div.modal-footer.delete-sketch-modal-footer > button.btn.btn-danger").click()
73+
74+
75+
76+
driver.find_element_by_id("logout").click()
77+
78+
79+
80+

0 commit comments

Comments
 (0)