Files
mip/tests/moduletests.rb

298 lines
19 KiB
Ruby
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#---
#This unit test checks the modules screen.
#---
class Test_08_modules_screen < Test::Unit::TestCase
#
#Test we can logon to the system using the webmip administrator users login credentials and check that
#all the columns required for the report appears with the button to create a new module record
#
def test_01_module_screen_appears
@@ie.goto(MODULE)
#we'll need to login
login(DEFAULT, DEFAULT_PWD)
assert(@@ie.contains_text('Modules'),'The module screen did not appear')
assert(@@ie.contains_text('Module Code'),'The module code column did not appear')
assert(@@ie.contains_text('Service Pressure'),'The service pressure column did not appear')
assert(@@ie.contains_text('Meter'),'The module metercolumn did not appear')
assert(@@ie.contains_text('Filter'),'The filter column did not appear')
assert(@@ie.contains_text('Regulator'),'The regulator column did not appear')
assert(@@ie.contains_text('Relief Valve'),'The relief valve column did not appear')
assert(@@ie.contains_text('Slamshut Valve'),'The slamshut valve column did not appear')
assert(@@ie.button(:id, 'create').exists?,'The create button was not available')
end
#
#Check that the Create/Edit Modules form can be accessed using the Create button on the Modules report,
#all the required columns appears on the screen along with create and cancel buttons
#
def test_02_create_module_screen_appears
@@ie.button(:id, 'create').click
@@ie.wait
assert(@@ie.contains_text('Create/Edit Module'),'The create/edit module screen did not appear')
assert(@@ie.text_field(:id, 'P57_CODE').exists?,'The module code field is not available')
assert(@@ie.text_field(:id, 'P57_METR_CODE').exists?,'The meter code field is not available')
assert(@@ie.select_list(:id, 'P57_FLTR_CODE').exists?,'The filter code field is not available')
assert(@@ie.select_list(:id, 'P57_REGU_CODE').exists?,'The regulator code field is not available')
assert(@@ie.select_list(:id, 'P57_REVA_CODE').exists?,'The relief valve field is not available')
assert(@@ie.select_list(:id, 'P57_SLVA_CODE').exists?,'The slamshut valve code field is not available')
assert(@@ie.select_list(:id, 'P57_SVCP_CODE').exists?,'The service pressure field is not available')
assert(@@ie.select_list(:id, 'P57_PRTY_ID').exists?,'The manufacturer field is not available')
assert(@@ie.select_list(:id, 'P57_DRWG_CODE').exists?,'The drawing code field is not available')
assert(@@ie.text_field(:id, 'P57_BAS_CODE').exists?,'The base code field is not available')
assert(@@ie.text_field(:id, 'P57_HOU_CODE').exists?,'The housing code field is not available')
assert(@@ie.select_list(:id, 'P57_INLET_CNOR_CODE').exists?,'The inlet connection orientation field is not available')
assert(@@ie.select_list(:id, 'P57_INLET_CNTY_CODE').exists?,'The inlet connection type is not available')
assert(@@ie.select_list(:id, 'P57_OUTLET_CNOR_CODE').exists?,'The outlet connection orientation field is not available')
assert(@@ie.select_list(:id, 'P57_OUTLET_CNTY_CODE').exists?,'The outlet connection type field is not available')
assert(@@ie.text_field(:id, 'P57_WEIGHT').exists?,'The weight field is not available')
assert(@@ie.text_field(:id, 'P57_INLET_HEIGHT').exists?,'The inlet height field is not available')
assert(@@ie.text_field(:id, 'P57_OUTLET_HEIGHT').exists?,'The outlet height field is not available')
assert(@@ie.text_field(:id, 'P57_OUTLET_PRESSURE').exists?,'The outlet pressure field is not available')
assert(@@ie.text_field(:id, 'P57_INLET_SIZE').exists?,'The inlet size field is not available')
assert(@@ie.text_field(:id, 'P57_OUTLET_SIZE').exists?,'The outlet size field is not available')
assert(@@ie.text_field(:id, 'P57_DIM_A').exists?,'The dimension A field is not available')
assert(@@ie.text_field(:id, 'P57_DIM_B').exists?,'The dimension B field is not available')
assert(@@ie.text_field(:id, 'P57_DIM_C').exists?,'The dimension C field is not available')
assert(@@ie.text_field(:id, 'P57_DIM_D').exists?,'The dimension D field is not available')
assert(@@ie.text_field(:id, 'P57_DIM_E').exists?,'The dimension E field is not available')
assert(@@ie.text_field(:id, 'P57_DIM_H').exists?,'The dimension H field is not available')
assert(@@ie.text_field(:id, 'P57_QMAX').exists?,'The QMAX field was not found')
assert(@@ie.button(:id, 'create').exists?,'The create button was not available')
assert(@@ie.button(:id, 'cancel').exists?,'The cancel button was not available')
end
#
#Check that the Create/Edit Module form allows data to be inserted to create a new module
#Check that the new module record appears in the Modules report
#
def test_03_create_module
@@ie.text_field(:id, 'P57_CODE').set('AR10266H')
@@ie.select_list(:id, 'P57_METR_CODE').set('MRD1600B4F')
@@ie.select_list(:id, 'P57_FLTR_CODE').select('WITCHES HAT STRAINER')
@@ie.select_list(:id, 'P57_REGU_CODE').select('J48')
@@ie.select_list(:id, 'P57_REVA_CODE').select('10L')
@@ie.select_list(:id, 'P57_SLVA_CODE').select('INTEGRAL')
@@ie.select_list(:id, 'P57_SVCP_CODE').select('LP')
@@ie.select_list(:id, 'P57_PRTY_ID').select('DRESSER')
@@ie.select_list(:id, 'P57_DRWG_CODE').select('C')
@@ie.select_list(:id, 'P57_BAS_CODE').set('RA0025LPB')
@@ie.select_list(:id, 'P57_HOU_CODE').set('1766H')
@@ie.select_list(:id, 'P57_INLET_CNOR_CODE').select('Vertical Down')
@@ie.select_list(:id, 'P57_INLET_CNTY_CODE').select('(Mm) Bs 746')
@@ie.select_list(:id, 'P57_OUTLET_CNOR_CODE').select('Vertical Down')
@@ie.select_list(:id, 'P57_OUTLET_CNTY_CODE').select('(Mm) Bs 746')
@@ie.text_field(:id, 'P57_WEIGHT').set('3615')
@@ie.text_field(:id, 'P57_INLET_HEIGHT').set('520')
@@ie.text_field(:id, 'P57_OUTLET_HEIGHT').set('300')
@@ie.text_field(:id, 'P57_OUTLET_PRESSURE').set('21')
@@ie.text_field(:id, 'P57_INLET_SIZE').set('150')
@@ie.text_field(:id, 'P57_OUTLET_SIZE').set('150')
@@ie.text_field(:id, 'P57_DIM_A').set('999')
@@ie.text_field(:id, 'P57_DIM_B').set('3407')
@@ie.text_field(:id, 'P57_DIM_C').set('999')
@@ie.text_field(:id, 'P57_DIM_D').set('999')
@@ie.text_field(:id, 'P57_DIM_E').set('999')
@@ie.text_field(:id, 'P57_DIM_H').set('1490')
@@ie.text_field(:id, 'P57_VALID_FROM').set('04/12/2007')
@@ie.text_field(:id, 'P57_VALID_TO').set('03/12/2008')
#new
@@ie.text_field(:id, 'P57_QMAX').set('800')
@@ie.button(:id, 'create').click
@@ie.wait
assert(@@ie.contains_text('Modules'),'The module screen did not appear')
assert(@@ie.contains_text('AR10266H'),'The new record with module code AR10265H did not appear')
@@ie.button(:id, 'create').click
@@ie.wait
@@ie.text_field(:id, 'P57_CODE').set('AR12265H')
@@ie.select_list(:id, 'P57_METR_CODE').set('MRD1600B4F')
@@ie.select_list(:id, 'P57_FLTR_CODE').select('WITCHES HAT STRAINER')
@@ie.select_list(:id, 'P57_REGU_CODE').select('J48')
@@ie.select_list(:id, 'P57_REVA_CODE').select('10L')
@@ie.select_list(:id, 'P57_SLVA_CODE').select('INTEGRAL')
@@ie.select_list(:id, 'P57_SVCP_CODE').select('LP')
@@ie.select_list(:id, 'P57_PRTY_ID').select('DRESSER')
@@ie.select_list(:id, 'P57_DRWG_CODE').select('C')
@@ie.select_list(:id, 'P57_BAS_CODE').set('RA0025LPB')
@@ie.select_list(:id, 'P57_HOU_CODE').set('1766H')
@@ie.select_list(:id, 'P57_INLET_CNOR_CODE').select('Vertical Down')
@@ie.select_list(:id, 'P57_INLET_CNTY_CODE').select('(Mm) Bs 746')
@@ie.select_list(:id, 'P57_OUTLET_CNOR_CODE').select('Vertical Down')
@@ie.select_list(:id, 'P57_OUTLET_CNTY_CODE').select('(Mm) Bs 746')
@@ie.text_field(:id, 'P57_WEIGHT').set('3615')
@@ie.text_field(:id, 'P57_INLET_HEIGHT').set('520')
@@ie.text_field(:id, 'P57_OUTLET_HEIGHT').set('300')
@@ie.text_field(:id, 'P57_OUTLET_PRESSURE').set('21')
@@ie.text_field(:id, 'P57_INLET_SIZE').set('150')
@@ie.text_field(:id, 'P57_OUTLET_SIZE').set('150')
@@ie.text_field(:id, 'P57_DIM_A').set('999')
@@ie.text_field(:id, 'P57_DIM_B').set('3407')
@@ie.text_field(:id, 'P57_DIM_C').set('999')
@@ie.text_field(:id, 'P57_DIM_D').set('999')
@@ie.text_field(:id, 'P57_DIM_E').set('999')
@@ie.text_field(:id, 'P57_DIM_H').set('1490')
@@ie.text_field(:id, 'P57_VALID_FROM').set('04/12/2007')
@@ie.text_field(:id, 'P57_VALID_TO').set('03/12/2008')
#new module QMAX
@@ie.text_field(:id, 'P57_QMAX').set('800')
@@ie.button(:id, 'create').click
@@ie.wait
assert(@@ie.contains_text('Modules'),'The module screen did not appear')
assert(@@ie.contains_text('AR12265H'),'The new record with module code AR12265H did not appear')
end
#
#Check that the code AR10265H links to the Create/Edit Module and the form appears with the correct data
#in the fields. Check that the valid to can be updated and the updated record appears in the Module report
#
def test_04_update_module
@@ie.link(:text, 'AR10266H').click
@@ie.wait
assert(@@ie.contains_text('Create/Edit Module'),'The Create/Edit Module screen did not appear')
assert(@@ie.text_field(:id, 'P57_CODE').verify_contains('AR10266H'), 'The module code is not AR10266H')
#~ assert(@@ie.text_field(:id, 'P57_METR_CODE').verify_contains('MRD1600B4F'), 'The meter code is not MRD1600B4F')
#~ assert(@@ie.select_list(:id, 'P57_FLTR_CODE').selected?('Not Assigned'), 'The filter code is not Not Assigned')
#~ assert(@@ie.select_list(:id, 'P57_REGU_CODE').selected?('Not Assigned'), 'The regulator code is not Not Assigned')
#~ assert(@@ie.select_list(:id, 'P57_REVA_CODE').selected?('Not Assigned'), 'The relief valve code is not Not Assigned')
#~ assert(@@ie.select_list(:id, 'P57_SLVA_CODE').selected?('Not Assigned'), 'The slamshut valve code is not Not Assigned')
#~ assert(@@ie.select_list(:id, 'P57_SVCP_CODE').selected?('LP'), 'The service pressure is not LP')
#~ assert(@@ie.select_list(:id, 'P57_PRTY_ID').selected?('DRESSER'), 'The manufacturer is not dresser')
#~ assert(@@ie.select_list(:id, 'P57_DRWG_CODE').selected?('Not Assigned'), 'The drawing code is not Not Assigned')
#~ assert(@@ie.text_field(:id, 'P57_BAS_CODE').verify_contains('2016HH1'), 'The base code is not 2016HH1')
#~ assert(@@ie.text_field(:id, 'P57_HOU_CODE').verify_contains('1765H'), 'The housing code is not 1765H')
#~ assert(@@ie.select_list(:id, 'P57_INLET_CNOR_CODE').selected?('Vertical Down'), 'The inlet connection orientation is not Not Assigned')
#~ assert(@@ie.select_list(:id, 'P57_INLET_CNTY_CODE').selected?('BAD DATA'), 'The inlet connection type is not Not Assigned')
#~ assert(@@ie.select_list(:id, 'P57_OUTLET_CNOR_CODE').selected?('Vertical Down'), 'The outlet connection orientation is not None Assigned')
#~ assert(@@ie.select_list(:id, 'P57_OUTLET_CNTY_CODE').selected?('BAD DATA'), 'The outlet connection type is not Not Assigned')
#~ assert(@@ie.text_field(:id, 'P57_WEIGHT').verify_contains('3615'), 'The weight is not 3615')
#~ assert(@@ie.text_field(:id, 'P57_INLET_HEIGHT').verify_contains('520'), 'The inlet height is not 520')
#~ assert(@@ie.text_field(:id, 'P57_OUTLET_HEIGHT').verify_contains('300'), 'The outlet height is not 300')
#~ assert(@@ie.text_field(:id, 'P57_OUTLET_PRESSURE').verify_contains('21'), 'The outlet pressure is not 21')
#~ assert(@@ie.text_field(:id, 'P57_INLET_SIZE').verify_contains('150'), 'The inlet size is not 150')
#~ assert(@@ie.text_field(:id, 'P57_OUTLET_SIZE').verify_contains('150'), 'The outlet size is not 150')
#~ assert(@@ie.text_field(:id, 'P57_DIM_A').verify_contains('999'), 'The DIM A is not 999')
#~ assert(@@ie.text_field(:id, 'P57_DIM_B').verify_contains('3407'), 'The DIM B is not 3407')
#~ assert(@@ie.text_field(:id, 'P57_DIM_C').verify_contains('999'), 'The DIM C is not 999')
#~ assert(@@ie.text_field(:id, 'P57_DIM_D').verify_contains('999'), 'The DIM D is not 999')
#~ assert(@@ie.text_field(:id, 'P57_DIM_E').verify_contains('999'), 'The DIM E is not 999')
#~ assert(@@ie.text_field(:id, 'P57_DIM_H').verify_contains('1490'), 'The DIM H is not 1490')
#~ assert(@@ie.text_field(:id, 'P57_VALID_FROM').verify_contains('04/12/2007'), 'The valid from is not 04/12/2007')
#~ assert(@@ie.text_field(:id, 'P57_VALID_TO').verify_contains('03/12/2008'), 'The valid to is not 03/12/2008')
#~ assert(@@ie.button(:id, 'cancel').exists?,'The cancel button was not available')
#~ assert(@@ie.button(:id, 'delete').exists?,'The delete button was not available')
#~ assert(@@ie.button(:id, 'apply_changes').exists?,'The Apply Changes button was not available')
@@ie.select_list(:id, 'P57_REGU_CODE').select('J90 ANGLED')
@@ie.button(:id, 'apply_changes').click
@@ie.wait
assert(@@ie.contains_text('Modules'),'The modules screen did not appear')
assert(@@ie.contains_text('AR10266H'),'The record with module code AR10266H did not appear')
assert(@@ie.contains_text('J90 ANGLED'),'The record with regulator code J90 Angled - 30 did not appear')
end
#
#Check that the module AR12265H can be deleted and that the record is no longer displayed in the report
#
# def test_05_delete_module
# @@ie.link(:text, 'AR12265H').click
# @@ie.wait
# assert(@@ie.text_field(:id, 'P57_CODE').verify_contains('AR12265H'), 'The module code field did not contain value AR12265H')
# assert(@@ie.button(:id, 'cancel').exists?,'The cancel button was not available')
# assert(@@ie.button(:id, 'delete').exists?,'The delete button was not available')
# assert(@@ie.button(:id, 'apply_changes').exists?,'The Apply Changes button was not available')
# @@ie.button(:id, 'delete').click
# @@ie.wait
# assert_nil(@@ie.contains_text('AR12265H'),'The record with module code AR12265H did appear')
# end
#
#Check that the module code cannot be updated
#
#~ def test_06_update_module_code
#~ @@ie.link(:text, 'AR10265H').click
#~ @@ie.wait
#~ assert(@@ie.contains_text('Create/Edit Module'),'The Create/Edit Module screen did not appear')
#~ assert(@@ie.text_field(:id, 'P57_CODE').verify_contains('AR10265H'), 'The module code field did not contain value AR10265H')
#~ assert(@@ie.button(:id, 'cancel').exists?,'The cancel button was not available')
#~ assert(@@ie.button(:id, 'delete').exists?,'The delete button was not available')
#~ assert(@@ie.button(:id, 'apply_changes').exists?,'The Apply Changes button was not available')
#~ @@ie.text_field(:id, 'P57_CODE').set("AR12045H")
#~ @@ie.button(:id, 'apply_changes').click
#~ @@ie.wait
#~ assert(@@ie.contains_text('Modules'),'The modules screen did not appear')
#~ assert(@@ie.contains_text('AR12045H'),'The record with module code AR12045H did not appear')
#~ end
#
#Check that a module record with child records cannot be deleted
#
#~ def test_07_delete_module_child
#~ @@ie.link(:text, '2016').click
#~ @@ie.wait
#~ assert(@@ie.text_field(:id, 'P57_CODE').verify_contains('2016'), 'The module code field did not contain value 3811H')
#~ assert(@@ie.select_list(:id, 'P57_HOTY_CODE').selected?('WALK IN'), 'The module type is not LIFT OFF')
#~ assert(@@ie.text_field(:id, 'P57_DIM_L').verify_contains('2000'), 'DIM L is not 3600')
#~ assert(@@ie.text_field(:id, 'P57_DIM_W').verify_contains('1600'), 'DIM W is not 1700')
#~ assert(@@ie.text_field(:id, 'P57_DIM_H').verify_contains('2100'), 'DIM H is not 2200')
#~ assert(@@ie.text_field(:id, 'P57_WEIGHT').verify_contains('0'), 'Weight is not 300')
#~ assert(@@ie.select_list(:id, 'P57_DRWG_CODE').selected?('WI'), 'Drawing code is not WI')
#~ assert(@@ie.select_list(:id, 'P57_PRTY_ID').selected?('ACTARIS'), 'Manufacturer is not ACTARIS')
#~ assert(@@ie.button(:id, 'cancel').exists?,'The cancel button was not available')
#~ assert(@@ie.button(:id, 'delete').exists?,'The delete button was not available')
#~ assert(@@ie.button(:id, 'apply_changes').exists?,'The Apply Changes button was not available')
#~ @@ie.button(:id, 'delete').click
#~ @@ie.wait
#~ assert(@@ie.contains_text('2016'),'The module code field did not contain value 3811H')
#~ end
#
#Check that a duplicate module record cannot be recorded
#
#~ def test_08_create_duplicate_module
#~ assert(@@ie.button(:id, 'create').exists?,'The create button was not available')
#~ @@ie.button(:id, 'create').click
#~ @@ie.wait
#~ assert(@@ie.contains_text('Create/Edit Module'),'The create/edit modules screen did not appear')
#~ @@ie.text_field(:id, 'P57_CODE').set('AR10265H')
#~ @@ie.text_field(:id, 'P57_METR_CODE').set('MRD1600B4F')
#~ @@ie.select_list(:id, 'P57_FLTR_CODE').select('BADDATA')
#~ @@ie.select_list(:id, 'P57_REGU_CODE').select('BADDATA')
#~ @@ie.select_list(:id, 'P57_REVA_CODE').select('BADDATA')
#~ @@ie.select_list(:id, 'P57_SLVA_CODE').select('BADDATA')
#~ @@ie.select_list(:id, 'P57_SVCP_CODE').select('LP')
#~ @@ie.select_list(:id, 'P57_PRTY_ID').select('DRESSER')
#~ @@ie.select_list(:id, 'P57_DRWG_CODE').select('BADDATA')
#~ @@ie.text_field(:id, 'P57_BAS_CODE').set('2016HH1')
#~ @@ie.text_field(:id, 'P57_HOU_CODE').set('1765H')
#~ @@ie.select_list(:id, 'P57_INLET_CNOR_CODE').select('VERTICAL DOWN')
#~ @@ie.select_list(:id, 'P57_INLET_CNTY_CODE').select('BADDATA')
#~ @@ie.select_list(:id, 'P57_OUTLET_CNOR_CODE').select('VERTICAL DOWN')
#~ @@ie.select_list(:id, 'P57_OUTLET_CNTY_CODE').select('BADDATA')
#~ @@ie.text_field(:id, 'P57_WEIGHT').set('3615')
#~ @@ie.text_field(:id, 'P57_INLET_HEIGHT').set('520')
#~ @@ie.text_field(:id, 'P57_OUTLET_HEIGHT').set('300')
#~ @@ie.text_field(:id, 'P57_INLET_PRESSURE').set('25')
#~ @@ie.text_field(:id, 'P57_OUTLET_PRESSURE').set('21')
#~ @@ie.text_field(:id, 'P57_INLET_SIZE').set('150')
#~ @@ie.text_field(:id, 'P57_OUTLET_SIZE').set('150')
#~ @@ie.text_field(:id, 'P57_DIM_A').set('999')
#~ @@ie.text_field(:id, 'P57_DIM_B').set('3407')
#~ @@ie.text_field(:id, 'P57_DIM_C').set('999')
#~ @@ie.text_field(:id, 'P57_DIM_D').set('999')
#~ @@ie.text_field(:id, 'P57_DIM_E').set('999')
#~ @@ie.text_field(:id, 'P57_DIM_H').set('1490')
#~ @@ie.text_field(:id, 'P57_VALID_FROM').set('04/12/2007')
#~ @@ie.text_field(:id, 'P57_VALID_TO').set('03/12/2008')
#~ @@ie.button(:id, 'create').click
#~ @@ie.wait
#~ assert_nil(@@ie.contains_text('Modules'),'The module screen did appear')
#~ assert_nil(@@ie.contains_text('AR10265H'),'The new record with module code AR10265H did appear')
#~ assert(@@ie.contains_text('Error'),'An error was not generated')
#~ end
def test_50_logout
menu('Logout')
assert(@@ie.button(:value, 'Login').exists?,'The Login button was not available '+geterrormess(@@ie))
@@ie.button(:value, 'Login').click
@@ie.wait
end
end