syncing master
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import time
|
||||
from flask.ext.testing import LiveServerTestCase
|
||||
import mockredis
|
||||
from splinter import Browser
|
||||
@@ -65,6 +66,7 @@ class ArraySummaryDynamicTest(LiveServerTestCase):
|
||||
def test_shows_subarray_summary_table_if_user_has_uploaded_data(self):
|
||||
self.fill_in_site_characterization_data()
|
||||
self.upload_cad_block_file('test/fixtures/input_single_tilt_csv_for_bom.csv')
|
||||
time.sleep(3)
|
||||
assert len(self.browser.find_by_css('.upload_field .error_message')) == 0
|
||||
assert len(self.browser.find_by_css("#seismic_anchor_table")) > 0
|
||||
eq_(len(self.browser.find_by_css("#seismic_anchor_table tr")), 4)
|
||||
@@ -73,6 +75,7 @@ class ArraySummaryDynamicTest(LiveServerTestCase):
|
||||
def test_shows_errors_if_user_tries_to_upload_select_invalid_data(self):
|
||||
self.fill_in_site_characterization_data()
|
||||
self.upload_cad_block_file('test/fixtures/invalid_wind_zone.csv')
|
||||
time.sleep(3)
|
||||
assert len(self.browser.find_by_id('error_message_txt')) > 0
|
||||
assert len(self.browser.find_by_css("#seismic_anchor_table")) == 0
|
||||
|
||||
@@ -87,30 +90,29 @@ class ArraySummaryDynamicTest(LiveServerTestCase):
|
||||
def test_indicates_that_user_has_already_uploaded_a_csv_file_after_uploading(self):
|
||||
self.fill_in_site_characterization_data()
|
||||
self.upload_cad_block_file('test/fixtures/input_single_tilt_csv_for_bom.csv')
|
||||
time.sleep(3)
|
||||
assert len(self.browser.find_by_css('.upload_field .error_message')) == 0
|
||||
assert 'input_single_tilt_csv_for_bom.csv' in self.browser.html
|
||||
|
||||
def test_adding_seismic_anchor_updates_subarray_summary(self):
|
||||
self.fill_in_site_characterization_data()
|
||||
self.upload_cad_block_file('test/fixtures/input_single_tilt_csv_for_bom.csv')
|
||||
time.sleep(3)
|
||||
assert self.browser.is_element_visible_by_css('#arrayCanvas')
|
||||
self.browser.execute_script('arrayVisualization.selectPanel(1631);')
|
||||
|
||||
self.browser.find_by_css('#add_seismic').click()
|
||||
assert self.browser.find_by_css('#current_anchors td:nth-child(14)').text == '1'
|
||||
|
||||
self.browser.find_by_css('#add_seismic').click()
|
||||
assert self.browser.find_by_css('#current_anchors td:nth-child(14)').text == '2'
|
||||
|
||||
def test_removig_seismic_anchor_updates_subarray_summary(self):
|
||||
self.fill_in_site_characterization_data()
|
||||
self.upload_cad_block_file('test/fixtures/input_single_tilt_csv_for_bom.csv')
|
||||
time.sleep(3)
|
||||
assert self.browser.is_element_visible_by_css('#arrayCanvas')
|
||||
self.browser.execute_script('arrayVisualization.selectPanel(1631);')
|
||||
|
||||
self.browser.find_by_css('#add_seismic').click()
|
||||
assert self.browser.find_by_css('#current_anchors td:nth-child(14)').text == '1'
|
||||
|
||||
self.browser.find_by_css('#remove_seismic').click()
|
||||
assert self.browser.find_by_css('#current_anchors td:nth-child(14)').text == '0'
|
||||
|
||||
|
||||
@@ -37,8 +37,6 @@ class BomIntegrationTest(unittest.TestCase):
|
||||
expected = [
|
||||
["512200", "CLIP, WIRE FORMED, CABLE MANAGEMENT, INSIDE, 352MM ^ 2", "510"],
|
||||
["513833", "TRAY, LINK, HELIX ROOF", "78"], # TODO: should be 74 for part perfect bom
|
||||
["513841", "DEFLECTOR, LH, HELIX ROOF", "30"],
|
||||
["513842", "DEFLECTOR, RH, HELIX ROOF", "30"],
|
||||
["513843", "PLATE, ANCHOR, HELIX ROOF", "86"],
|
||||
["513844", "TRAY, OPTIONAL BALLAST, HELIX ROOF", "35"],
|
||||
["514056", "BASE, CHASSIS, DUAL TILT, HELIX ROOF", "147"],
|
||||
@@ -48,6 +46,8 @@ class BomIntegrationTest(unittest.TestCase):
|
||||
["515928", "FRONT SKIRT, HELIX ROOF", "126"],
|
||||
["517871", "TRAY, LEADING, HELIX ROOF, RIVETED VERSION", "67"],
|
||||
["518477", "WASHER, FLAT, 3/8, 1.00 OD, 18-8 SS", "100"],
|
||||
["521794", "DEFLECTOR, LH, HELIX ROOF V1.1", "30"],
|
||||
["521795", "DEFLECTOR, RH, HELIX ROOF V1.1", "30"],
|
||||
["Contractor Supplied", "Ballast Blocks", "608"],
|
||||
["TBD", "Anchors", "86"],
|
||||
["TBD", "Modules", "252"]
|
||||
@@ -82,8 +82,6 @@ class BomIntegrationTest(unittest.TestCase):
|
||||
expected = [
|
||||
['512200', 'CLIP, WIRE FORMED, CABLE MANAGEMENT, INSIDE, 352MM ^ 2', '540'],
|
||||
['513833', 'TRAY, LINK, HELIX ROOF', '75'], # TODO: should be 73 for part perfect bom
|
||||
['513841', 'DEFLECTOR, LH, HELIX ROOF', '20'],
|
||||
['513842', 'DEFLECTOR, RH, HELIX ROOF', '20'],
|
||||
['513843', 'PLATE, ANCHOR, HELIX ROOF', '114'],
|
||||
['513844', 'TRAY, OPTIONAL BALLAST, HELIX ROOF', '17'],
|
||||
['514056', 'BASE, CHASSIS, DUAL TILT, HELIX ROOF', '148'],
|
||||
@@ -93,6 +91,8 @@ class BomIntegrationTest(unittest.TestCase):
|
||||
['515928', 'FRONT SKIRT, HELIX ROOF', '130'],
|
||||
['517871', 'TRAY, LEADING, HELIX ROOF, RIVETED VERSION', '69'],
|
||||
['518477', 'WASHER, FLAT, 3/8, 1.00 OD, 18-8 SS', '125'],
|
||||
["521794", "DEFLECTOR, LH, HELIX ROOF V1.1", "20"],
|
||||
["521795", "DEFLECTOR, RH, HELIX ROOF V1.1", "20"],
|
||||
['Contractor Supplied', 'Ballast Blocks', '358'],
|
||||
['TBD', 'Anchors', '114'],
|
||||
['TBD', 'Modules', '264']
|
||||
@@ -126,8 +126,6 @@ class BomIntegrationTest(unittest.TestCase):
|
||||
expected = [
|
||||
['512200', 'CLIP, WIRE FORMED, CABLE MANAGEMENT, INSIDE, 352MM ^ 2', '330'],
|
||||
['513833', 'TRAY, LINK, HELIX ROOF', '45'], # 45 is perfect value for this bom
|
||||
['513841', 'DEFLECTOR, LH, HELIX ROOF', '36'],
|
||||
['513842', 'DEFLECTOR, RH, HELIX ROOF', '36'],
|
||||
['513843', 'PLATE, ANCHOR, HELIX ROOF', '67'],
|
||||
['513844', 'TRAY, OPTIONAL BALLAST, HELIX ROOF', '13'],
|
||||
['514056', 'BASE, CHASSIS, DUAL TILT, HELIX ROOF', '102'],
|
||||
@@ -137,6 +135,8 @@ class BomIntegrationTest(unittest.TestCase):
|
||||
['515928', 'FRONT SKIRT, HELIX ROOF', '88'],
|
||||
['517871', 'TRAY, LEADING, HELIX ROOF, RIVETED VERSION', '53'],
|
||||
['518477', 'WASHER, FLAT, 3/8, 1.00 OD, 18-8 SS', '75'],
|
||||
["521794", "DEFLECTOR, LH, HELIX ROOF V1.1", "36"],
|
||||
["521795", "DEFLECTOR, RH, HELIX ROOF V1.1", "36"],
|
||||
['Contractor Supplied', 'Ballast Blocks', '286'],
|
||||
['TBD', 'Anchors', '67'],
|
||||
['TBD', 'Modules', '160'],
|
||||
@@ -171,8 +171,6 @@ class BomIntegrationTest(unittest.TestCase):
|
||||
expected = [
|
||||
['512200', 'CLIP, WIRE FORMED, CABLE MANAGEMENT, INSIDE, 352MM ^ 2', '510'],
|
||||
['513833', 'TRAY, LINK, HELIX ROOF', '73'], # TODO: should be 70 for part perfect bom
|
||||
['513841', 'DEFLECTOR, LH, HELIX ROOF', '24'],
|
||||
['513842', 'DEFLECTOR, RH, HELIX ROOF', '24'],
|
||||
['513843', 'PLATE, ANCHOR, HELIX ROOF', '94'],
|
||||
['513844', 'TRAY, OPTIONAL BALLAST, HELIX ROOF', '28'],
|
||||
['514056', 'BASE, CHASSIS, DUAL TILT, HELIX ROOF', '140'],
|
||||
@@ -182,6 +180,8 @@ class BomIntegrationTest(unittest.TestCase):
|
||||
['515928', 'FRONT SKIRT, HELIX ROOF', '120'],
|
||||
['517871', 'TRAY, LEADING, HELIX ROOF, RIVETED VERSION', '64'],
|
||||
['518477', 'WASHER, FLAT, 3/8, 1.00 OD, 18-8 SS', '100'],
|
||||
["521794", "DEFLECTOR, LH, HELIX ROOF V1.1", "24"],
|
||||
["521795", "DEFLECTOR, RH, HELIX ROOF V1.1", "24"],
|
||||
['Contractor Supplied', 'Ballast Blocks', '560'],
|
||||
['TBD', 'Anchors', '94'],
|
||||
['TBD', 'Modules', '244'],
|
||||
|
||||
@@ -10,6 +10,7 @@ from helix.constants import sql_constant
|
||||
from helix.constants.anchor_type import AnchorType
|
||||
from helix.constants.inverter_type import InverterType
|
||||
from helix.constants.system_type import SystemType
|
||||
from helix.constants.module_type import ModuleType
|
||||
from helix.constants.version import version
|
||||
from helix.models.sql.power_stations import PowerStation
|
||||
from test.integration.integration_test_helpers import *
|
||||
@@ -125,29 +126,32 @@ class FullUserFlowTest(unittest.TestCase):
|
||||
eq_(self.browser._response.headers['Content-Disposition'], 'attachment; filename=test_project_name_result.txt')
|
||||
|
||||
def test_downloading_coordinates_csv(self):
|
||||
with open('test/fixtures/expected_dual_tilt_coordinates.csv', 'r', newline='') as csv_file:
|
||||
csv_content = csv_file.read()
|
||||
self.browser.fill('project_name', 'Test Project Name')
|
||||
self.browser.fill('building_width', '450')
|
||||
self.browser.fill('building_height', '35')
|
||||
self.browser.fill('building_length', '500')
|
||||
self.browser.fill('wind_speed', '110')
|
||||
self.browser.fill('exposure_category', 'B')
|
||||
self.browser.fill('ballast_block_weight', '14')
|
||||
self.browser.fill('building_parapet_height', '5')
|
||||
self.browser.fill('max_system_pressure', '10')
|
||||
self.browser.fill('system_type', SystemType.dualTilt.value)
|
||||
self.browser.fill('anchor_type', AnchorType.OMG_PowerGrip_Plus.value)
|
||||
self.browser.fill('design_spectral_response', '1.5')
|
||||
#with open('test/fixtures/expected_dual_tilt_big_spacing.txt', 'r', newline='') as csv_file:
|
||||
with open('test/fixtures/expected_small_dual_tilt.txt', 'r', newline='') as csv_file:
|
||||
csv_content = csv_file.read()
|
||||
self.browser.fill('project_name', 'Test Project Name')
|
||||
self.browser.fill('building_width', '450')
|
||||
self.browser.fill('building_height', '35')
|
||||
self.browser.fill('building_length', '500')
|
||||
self.browser.fill('wind_speed', '110')
|
||||
self.browser.fill('exposure_category', 'B')
|
||||
self.browser.fill('ballast_block_weight', '14')
|
||||
self.browser.fill('building_parapet_height', '5')
|
||||
self.browser.fill('max_system_pressure', '10')
|
||||
self.browser.fill('system_type', SystemType.dualTilt.value)
|
||||
self.browser.fill('anchor_type', AnchorType.OMG_PowerGrip_Plus.value)
|
||||
self.browser.fill('design_spectral_response', '1.5')
|
||||
self.browser.fill('module_type', ModuleType.Cell96.value)
|
||||
|
||||
self.advance_n_times(1)
|
||||
self.attach_file('test/fixtures/input_dual_tilt_coordinates.csv')
|
||||
self.advance_n_times(1)
|
||||
self.attach_file('test/fixtures/input_small_dual_tilt.csv')
|
||||
|
||||
self.advance_n_times(1)
|
||||
self.browser.visit('/download/')
|
||||
self.browser.click_link_by_partial_text('Download AutoCAD import file')
|
||||
eq_(self.browser.html, csv_content)
|
||||
eq_(self.browser._response.headers['Content-Disposition'], 'attachment; filename=test_project_name_result.txt')
|
||||
|
||||
self.advance_n_times(1)
|
||||
self.browser.visit('/download/')
|
||||
self.browser.click_link_by_partial_text('Download AutoCAD import file')
|
||||
eq_(self.browser.html, csv_content)
|
||||
eq_(self.browser._response.headers['Content-Disposition'], 'attachment; filename=test_project_name_result.txt')
|
||||
|
||||
# def test_uploading_dxf_and_downloading_csv(self):
|
||||
# self.browser.fill('project_name', 'Test Project Name')
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import time
|
||||
from flask.ext.testing import LiveServerTestCase
|
||||
import mockredis
|
||||
from splinter import Browser
|
||||
@@ -84,6 +85,7 @@ class PowerStationConfigurationDynamicFormTestCase(LiveServerTestCase):
|
||||
eq_(self.browser.find_by_name('inverter-model').first.value, str(InverterType.SMA.default_value()))
|
||||
|
||||
select_inverter_brand(self.browser, brand=InverterBrand.DELTA.value)
|
||||
time.sleep(1)
|
||||
|
||||
show_standalone_inverter_form(self.browser)
|
||||
eq_(len(self.browser.find_by_css('#inverter-model option')), 3)
|
||||
|
||||
Reference in New Issue
Block a user