Files
old-krovovi-kalkulator/test/integration/site_characterization_dynamic_form_test.py
2017-11-07 09:23:57 +01:00

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.')