59 lines
2.9 KiB
Python
59 lines
2.9 KiB
Python
from flask.ext.testing import LiveServerTestCase
|
|
import mockredis
|
|
from splinter import Browser
|
|
|
|
from helix import main
|
|
from helix.constants import redis_constant
|
|
from helix.constants import sql_constant
|
|
from helix.db.sql_manager import SQLManager
|
|
from test.test_helpers import test_db_session, reset_db_session
|
|
|
|
|
|
class SiteCharacterizationDynamicFormTestCase(LiveServerTestCase):
|
|
def create_app(self):
|
|
redis_constant.redis_store = mockredis.mock_redis_client()
|
|
sql_constant.sql_session_maker = lambda: SQLManager.get_sql_session_maker('postgres://pivotal:@localhost/test')
|
|
|
|
app = main.app
|
|
app.config['TESTING'] = True
|
|
app.config['LIVESERVER_PORT'] = 8943
|
|
return app
|
|
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
cls.test_db_session = test_db_session()
|
|
cls.browser = Browser('phantomjs')
|
|
|
|
@classmethod
|
|
def tearDownClass(cls):
|
|
cls.test_db_session.close_all()
|
|
cls.browser.quit()
|
|
|
|
def setUp(self):
|
|
self.browser.visit(self.get_server_url() + '/site_characterization/')
|
|
|
|
def tearDown(self):
|
|
reset_db_session(self.test_db_session)
|
|
self.browser.cookies.delete()
|
|
|
|
def test_selecting_exposure_B_to_C_shows_transition_distance(self):
|
|
assert not self.browser.is_text_present("Exposure Transition Distance")
|
|
self.browser.select('exposure_category', 'B to C')
|
|
assert self.browser.is_text_present("Exposure Transition Distance")
|
|
self.browser.select('exposure_category', 'D')
|
|
assert not self.browser.is_text_present("Exposure Transition Distance")
|
|
|
|
def test_showing_and_hiding_tooltip_for_anchor_type(self):
|
|
assert not self.browser.is_text_present('OMG anchors are compatible with TPO and PVC roof membranes.')
|
|
self.browser.find_by_css('#anchor_type_row i.icon-info-circled').first.click()
|
|
assert self.browser.is_text_present('OMG anchors are compatible with TPO and PVC roof membranes.')
|
|
self.browser.find_by_css('body').first.click()
|
|
assert not self.browser.is_text_present('OMG anchors are compatible with TPO and PVC roof membranes.')
|
|
|
|
def test_showing_and_hiding_tooltip_for_importance_factor(self):
|
|
assert not self.browser.is_text_present('Use 1.5 for essential facilities such as: Hospitals, Police, Fire & Rescue stations & Designated emergency shelters. All other structures should use 1.0.')
|
|
self.browser.find_by_css('#importance_factor_row i.icon-info-circled').first.click()
|
|
assert self.browser.is_text_present('Use 1.5 for essential facilities such as: Hospitals, Police, Fire & Rescue stations & Designated emergency shelters. All other structures should use 1.0.')
|
|
self.browser.find_by_css('body').first.click()
|
|
assert not self.browser.is_text_present('Use 1.5 for essential facilities such as: Hospitals, Police, Fire & Rescue stations & Designated emergency shelters. All other structures should use 1.0.')
|