Skip to content

Commit 8ab2bad

Browse files
committed
Fix any issues
1 parent dc9c4d6 commit 8ab2bad

File tree

1 file changed

+48
-50
lines changed

1 file changed

+48
-50
lines changed

tests/common/sketches_counters/test_sketches_counters.py

Lines changed: 48 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -3,78 +3,76 @@
33
from selenium.webdriver.common.by import By
44
from selenium.webdriver.common.keys import Keys
55
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
6+
from codebender_testing import config
7+
from codebender_testing.config import STAGING_SITE_URL
8+
import os
9+
import time
10+
import pytest
911

1012
class TestSketchesCounters(SeleniumTestCase):
11-
1213
def test_sketches_counters(self):
13-
self.driver = webdriver.Firefox()
1414
self.driver.implicitly_wait(30)
15-
self.base_url = "https://staging.codebender.cc/"
16-
self.verificationErrors = []
17-
self.accept_next_alert = True
1815
driver = self.driver
19-
driver.get(self.base_url + "/")
16+
self.open("/")
17+
18+
#Login and visit the new home page.
19+
credentials = {
20+
'username': os.environ.get('CODEBENDER_TEST_USER'),
21+
'password': os.environ.get('CODEBENDER_TEST_PASS'),
22+
}
2023
driver.find_element_by_id("login_btn").click()
2124
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("username").send_keys(credentials['username'])
26+
driver.find_element_by_id("password").clear()
27+
driver.find_element_by_id("password").send_keys(credentials['password'])
2528
driver.find_element_by_id("_submit").click()
26-
driver.find_element_by_id("create_sketch_btn").click()
2729

30+
#check that there are not any sketches.
31+
assert driver.find_element_by_id("private-sketches-counter").text == "0"
32+
assert driver.find_element_by_id("public-sketches-counter").text == "0"
2833

34+
#Create 2 public sketches and Create 2 private sketches
35+
driver.find_element_by_id("create_sketch_btn").click()
2936
driver.find_element_by_id("create-sketch-modal-action-button").click()
30-
time.sleep(5)
37+
self.get_element(By.ID, "save")
3138
driver.find_element_by_id("logo_small").click()
3239
driver.find_element_by_id("create_sketch_btn").click()
3340
driver.find_element_by_id("create-sketch-modal-action-button").click()
34-
time.sleep(5)
35-
driver.find_element_by_id("logo_small").click()
41+
self.get_element(By.ID, "save")
42+
driver.find_element_by_id("logo_small").click()
3643
driver.find_element_by_id("create_sketch_btn").click()
3744
driver.find_element_by_xpath("(//input[@name='create-sketch-modal-title'])[2]").click()
3845
driver.find_element_by_id("create-sketch-modal-action-button").click()
39-
time.sleep(5)
40-
driver.find_element_by_id("logo_small").click()
46+
self.get_element(By.ID, "save")
47+
driver.find_element_by_id("logo_small").click()
4148
driver.find_element_by_id("create_sketch_btn").click()
4249
driver.find_element_by_xpath("(//input[@name='create-sketch-modal-title'])[2]").click()
4350
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()
51+
self.get_element(By.ID, "save")
52+
driver.find_element_by_id("logo_small").click()
7353

54+
#Check that the counters have the correct value.
55+
assert driver.find_element_by_id("private-sketches-counter").text == "2"
56+
assert driver.find_element_by_id("public-sketches-counter").text == "2"
7457

58+
#Check that the counter for private projects also appears at the Badges section and has the correct value.
59+
assert driver.find_element_by_id("privateProjectAvailableNumber").text == "0"
60+
assert driver.find_element_by_id("available-private-projects-counter").text == "0/2"
7561

76-
driver.find_element_by_id("logout").click()
77-
78-
62+
#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.
63+
assert "Add more" == driver.find_element_by_link_text("Add more").text
7964

65+
class TestDeleteAllSketches(SeleniumTestCase):
8066

67+
@pytest.mark.requires_url(STAGING_SITE_URL)
68+
def test_delete(self, tester_login):
69+
try:
70+
sketches = self.find_all('#project_list > li .sketch-block-title > a')
71+
projects = []
72+
for sketch in sketches:
73+
projects.append(sketch.text)
74+
for project in projects:
75+
self.delete_project(project)
76+
except:
77+
print 'No sketches found'
78+
self.logout()

0 commit comments

Comments
 (0)