Files
mip/tests/user_management.rb

719 lines
32 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 party management screens and processes.
#
# File: user_management.rb
# Created: 18-Dec-2007
# Created by: MM
#
# Test_07_MIPADMIN_party_management
# - test_01_screen_appears
# - test_02_create_mktp
# - test_03_create_user_suppadmin
# - test_04_create_user_agent
# - test_05_create_user_cs
# - test_06_create_user_icu
#
# Test_08_SUPPADMIN_party_management
# - test_01_create_user_agent
#
# Test_09_edit_parties
# - test_01_edit_parties_screen_appears
# - test_02_edit_users
# - test_03_edit_suppliers
#---
class Test_09_MIPADMIN_party_management< Test::Unit::TestCase
#
#Test we can logon to the system using the webmip administrator users login credentials and check that
#all the fields required for creating parties in the system are correctly displayed.
#
def test_01_screen_appears
@@ie.goto(MANAGE_PARTIES)
#we'll need to login as a MIPADMIN user
login('advantica','password')
#confirm that there are 2 buttons available
assert(@@ie.button(:value,'Create New Party').exists?,'Could not find Create New Party button')
assert(@@ie.button(:value,'Edit Party').exists?,'Could not find Edit Party button')
#let's create a party
@@ie.button(:name,'Create New Party').click
#check the items on the page
assert(@@ie.select_list(:id,'P61_PRTY_TYPE').exists?,'Could not find P61_PRTY_TYPE select list')
#Check the list of dropdowns is as expected
party_types = ["- Select Party Type -", "Market Participant", "User", "Manufacturer"]
assert_equal(party_types,@@ie.select_list(:id, 'P61_PRTY_TYPE').getAllContents ,'List of available party types does not match expected list')
#check the correct fields are displayed when we select party types
#create Market Participant
@@ie.select_list(:id,'P61_PRTY_TYPE').set('Market Participant')
assert(@@ie.button(:value,'Cancel').exists?,'Could not find Cancel button')
assert(@@ie.button(:value,'Next >').exists?,'Could not find Next > button')
assert(@@ie.text_field(:id,'P61_NAME').exists?,'Could not find P61_NAME field')
assert(@@ie.text_field(:id,'P61_SHORTCODE').exists?,'Could not find P61_SHORTCODE field')
assert(@@ie.text_field(:id,'P61_MKTP_REF').exists?,'Could not find P61_MKTP_REF field')
assert(@@ie.text_field(:id,'P61_LT_7B_CONTRACT_REF').exists?,'Could not find P61_LT_7B_CONTRACT_REF field')
assert(@@ie.text_field(:id,'P61_GT_7B_CONTRACT_REF').exists?,'Could not find P61_GT_7B_CONTRACT_REF field')
assert(@@ie.text_field(:id,'P61_ADV_CONTRACT_REF').exists?,'Could not find P61_ADV_CONTRACT_REF field')
assert(@@ie.select_list(:id,'P61_TRIPARTITE').exists?,'Could not find P61_TRIPARTITE select list')
#Manufacturer
@@ie.select_list(:id,'P61_PRTY_TYPE').set('Manufacturer')
assert(@@ie.button(:value,'Cancel').exists?,'Could not find Cancel button')
assert(@@ie.button(:value,'Next >').exists?,'Could not find Next > button')
assert(@@ie.text_field(:id,'P61_NAME').exists?,'Could not find P61_NAME field')
assert(@@ie.text_field(:id,'P61_MANU_REF').exists?,'Could not find P61_MANU_REF field')
assert(@@ie.text_field(:id,'P61_DESCRIPTION').exists?,'Could not find P61_DESCRIPTION field')
#create USER
@@ie.select_list(:id,'P61_PRTY_TYPE').set('User')
assert(@@ie.button(:value,'Cancel').exists?,'Could not find Cancel button')
assert(@@ie.button(:value,'Next >').exists?,'Could not find Next > button')
assert(@@ie.text_field(:id,'P61_USERNAME').exists?,'Could not find P61_USERNAME field')
assert(@@ie.text_field(:id,'P61_TITLE').exists?,'Could not find P61_TITLE field')
assert(@@ie.text_field(:id,'P61_FIRST_NAME').exists?,'Could not find P61_FIRST_NAME field')
assert(@@ie.text_field(:id,'P61_LAST_NAME').exists?,'Could not find P61_LAST_NAME field')
assert(@@ie.text_field(:id,'P61_COMMENTS').exists?,'Could not find P61_COMMENTS field')
assert(@@ie.text_field(:id,'P61_PASSWORD').exists?,'Could not find P61_PASSWORD file upload field')
assert(@@ie.text_field(:id,'P61_REPEAT_PASSWORD').exists?,'Could not find P61_REPEAT_PASSWORD file upload field')
assert(@@ie.checkbox(:id,'P61_EXPIRE_PWORD').exists?,'Could not find P61_EXPIRE_PWORD checkbox')
#Test the objects on P62
@@ie.goto(ASSIGN_PARTY_ROLE)
#we'll need to login as a MIPADMIN user
login('advantica','password')
assert(@@ie.button(:value,'Cancel').exists?,'Could not find Cancel button')
assert(@@ie.button(:value,'< Previous').exists?,'Could not find < Previous button')
assert(@@ie.button(:value,'Next >').exists?,'Could not find Next > button')
assert(@@ie.select_list(:id,'P62_PRTY_ROLE').exists?,'Could not find P62_PRTY_ROLE select list')
#assert(@@ie.select_list(:id,'P62_USER_SUPPLIER').exists?,'Could not find P62_USER_SUPPLIER select list')
#assert(@@ie.select_list(:id,'P62_SUPP_ADMIN').exists?,'Could not find P62_SUPP_ADMIN select list')
assert(@@ie.text_field(:id,'P62_PHONE').exists?,'Could not find P62_PHONE field')
assert(@@ie.text_field(:id,'P62_FAX').exists?,'Could not find P62_FAX field')
assert(@@ie.text_field(:id,'P62_MOBILE').exists?,'Could not find P62_MOBILE field')
assert(@@ie.text_field(:id,'P62_EMAIL').exists?,'Could not find P62_EMAIL field')
#Test the objects on P63
@@ie.goto(PARTY_CONTACT_DETAILS)
#we'll need to login as a MIPADMIN user
login('advantica','password')
assert(@@ie.button(:value,'Cancel').exists?,'Could not find Cancel button')
assert(@@ie.button(:value,'< Previous').exists?,'Could not find < Previous button')
assert(@@ie.button(:value,'Next >').exists?,'Could not find Next > button')
assert(@@ie.text_field(:id,'P63_SELECT_ADDRESS').exists?,'Could not find P63_SELECT_ADDRESS field')
assert(@@ie.button(:value,'Copy Address').exists?,'Could not find Copy Address button')
assert(@@ie.text_field(:id,'P63_OFF_CODE').exists?,'Could not find P63_OFF_CODE field')
assert(@@ie.text_field(:id,'P63_OFF_SUB_BUILD').exists?,'Could not find P63_OFF_SUB_BUILD field')
assert(@@ie.text_field(:id,'P63_OFF_BUILDING').exists?,'Could not find P63_OFF_BUILDING field')
assert(@@ie.text_field(:id,'P63_OFF_STREET').exists?,'Could not find P63_OFF_STREET field')
assert(@@ie.text_field(:id,'P63_OFF_CITY').exists?,'Could not find P63_OFF_CITY field')
assert(@@ie.text_field(:id,'P63_OFF_POSTCODE').exists?,'Could not find P63_OFF_POSTCODE field')
#Test the objects on P64
@@ie.goto(PARTY_HOME_ADDR)
#we'll need to login as a MIPADMIN user
login('advantica','password')
assert(@@ie.button(:value,'Cancel').exists?,'Could not find Cancel button')
assert(@@ie.button(:value,'< Previous').exists?,'Could not find < Previous button')
assert(@@ie.button(:value,'Finish').exists?,'Could not find Finish button')
assert(@@ie.select_list(:id,'P64_SELECT_ADDRESS').exists?,'Could not find P64_SELECT_ADDRESS select list')
assert(@@ie.button(:value,'Copy Address').exists?,'Could not find Copy Address button')
assert(@@ie.text_field(:id,'P64_HOME_CODE').exists?,'Could not find P64_HOME_CODE field')
assert(@@ie.text_field(:id,'P64_HOME_SUB_BUILD').exists?,'Could not find P64_HOME_SUB_BUILD field')
assert(@@ie.text_field(:id,'P64_HOME_BUILDING').exists?,'Could not find P64_HOME_BUILDING field')
assert(@@ie.text_field(:id,'P64_HOME_STREET').exists?,'Could not find P64_HOME_STREET field')
assert(@@ie.text_field(:id,'P64_HOME_CITY').exists?,'Could not find P64_HOME_CITY field')
assert(@@ie.text_field(:id,'P64_HOME_POSTCODE').exists?,'Could not find P64_HOME_POSTCODE field')
end
#
#Test we can create a market participant (SUPPLIER) in the system when logged on as MIPADMIN user.
#
def test_02_create_mktp
@@ie.goto(LOGIN)
#we'll need to login as a MIPADMIN user
login('advantica','password')
#Navigate to the page using the menu
menu('Administration')
menu('User Management')
#menu('Create Party')
#create a new party
@@ie.button(:name,'Create New Party').click
#select the type of party to create
@@ie.select_list(:id,'P61_PRTY_TYPE').set('Market Participant')
# set the field values
#@@ie.text_field(:id,'').set('')
@@ie.text_field(:id,'P61_NAME').set('Supplier1')
@@ie.text_field(:id,'P61_SHORTCODE').set('SU1')
@@ie.text_field(:id,'P61_MKTP_REF').set('Test Supplier1')
@@ie.text_field(:id,'P61_LT_7B_CONTRACT_REF').set('1')
@@ie.text_field(:id,'P61_GT_7B_CONTRACT_REF').set('1')
@@ie.text_field(:id,'P61_ADV_CONTRACT_REF').set('1')
@@ie.select_list(:id,'P61_TRIPARTITE').set('Yes')
@@ie.button(:value,'Next >').click
#Select a role for the party
@@ie.select_list(:id,'P62_PRTY_ROLE').set('Gas supplier')
@@ie.wait
#fill in the contact details bits and bobs
@@ie.text_field(:id,'P62_PHONE').set('01234 567890')
@@ie.text_field(:id,'P62_FAX').set('01234 567890')
@@ie.text_field(:id,'P62_MOBILE').set('01234 567890')
@@ie.text_field(:id,'P62_EMAIL').set('supplier@supplier1.org')
@@ie.button(:value,'Next >').click
#create a new address for the supplier
@@ie.text_field(:id,'P63_OFF_CODE').set('SU1_OFFICE')
@@ie.text_field(:id,'P63_OFF_SUB_BUILD').set('62')
@@ie.text_field(:id,'P63_OFF_BUILDING').set('Supplier1')
@@ie.text_field(:id,'P63_OFF_STREET').set('A Street')
@@ie.text_field(:id,'P63_OFF_CITY').set('Supplier City')
@@ie.text_field(:id,'P63_OFF_POSTCODE').set('LE11 3GR')
@@ie.button(:value,'Next >').click
#wont bother setting a home address as we don't need to so we'll create the supplier
@@ie.button(:value,'Finish').click
assert(@@ie.contains_text('created successfully'),'MKTP not created correctly.')
end
#
#Test we can create a user (SUPPADMIN) in the system when logged on as MIPADMIN user.
#
def test_03_create_user_suppadmin
#@@ie.goto(LOGIN)
#we'll need to login as a MIPADMIN user
#login('advantica','password')
#Navigate to the page using the menu
#menu('Administration')
#menu('User Management')
#menu('Create Party')
#create a new party
@@ie.button(:name,'CreateAnother').click
#select the type of party to create
@@ie.select_list(:id,'P61_PRTY_TYPE').set('User')
# set the field values
#@@ie.text_field(:id,'').set('')
@@ie.text_field(:id,'P61_USERNAME').set('SuppAdmin1')
@@ie.text_field(:id,'P61_TITLE').set('Mr.')
@@ie.text_field(:id,'P61_FIRST_NAME').set('Supplier1')
@@ie.text_field(:id,'P61_LAST_NAME').set('Administrator')
@@ie.text_field(:id,'P61_COMMENTS').set('This is the administrator for Supplier1. Created for testing.')
@@ie.text_field(:id,'P61_PASSWORD').set('Passw0rd.')
@@ie.text_field(:id,'P61_REPEAT_PASSWORD').set('Passw0rd.')
@@ie.select_list(:id,'P61_EXPIRE_PWORD').set('No') #Leave the user OPEN
@@ie.button(:value,'Next >').click
@@ie.wait
#Select a role for the party
@@ie.select_list(:id,'P62_PRTY_ROLE').set('User administrator')
@@ie.wait
@@ie.select_list(:id,'P62_USER_SUPPLIER').set('Supplier1 - SU1')
@@ie.wait
#fill in the contact details bits and bobs
@@ie.text_field(:id,'P62_PHONE').set('01234 567891')
@@ie.text_field(:id,'P62_FAX').set('01234 567891')
@@ie.text_field(:id,'P62_MOBILE').set('01234 567891')
@@ie.text_field(:id,'P62_EMAIL').set('supplier_admin@supplier1.org')
@@ie.button(:value,'Next >').click
@@ie.wait
#use the existing address for the supplier
@@ie.text_field(:id,'P63_SELECT_ADDRESS').set('SU1_OFFICE')
@@ie.button(:value,'Copy Address').click
@@ie.button(:value,'Next >').click
@@ie.wait
#wont bother setting a home address as we don't need to so we'll create the supplier administrator
@@ie.button(:value,'Finish').click
@@ie.wait
assert(@@ie.contains_text('created successfully'),'SUPPADMIN not created correctly.')
end
#
#Test we can create a user (AGENT) in the system when logged on as MIPADMIN user.
#
def test_04_create_user_agent
#@@ie.goto(LOGIN)
#we'll need to login as a MIPADMIN user
#login('advantica','password')
#Navigate to the page using the menu
#menu('Administration')
#menu('User Management')
#menu('Create Party')
#create a new party
@@ie.button(:name,'CreateAnother').click
#select the type of party to create
@@ie.select_list(:id,'P61_PRTY_TYPE').set('User')
# set the field values
#@@ie.text_field(:id,'').set('')
@@ie.text_field(:id,'P61_USERNAME').set('SuppAgent1')
@@ie.text_field(:id,'P61_TITLE').set('Mr')
@@ie.text_field(:id,'P61_FIRST_NAME').set('Agent1')
@@ie.text_field(:id,'P61_LAST_NAME').set('Test-Agent')
@@ie.text_field(:id,'P61_COMMENTS').set('This is an agent for Supplier1. Created for testing.')
@@ie.text_field(:id,'P61_PASSWORD').set('Passw0rd.')
@@ie.text_field(:id,'P61_REPEAT_PASSWORD').set('Passw0rd.')
@@ie.select_list(:id,'P61_EXPIRE_PWORD').set('No') #Leave the user OPEN
@@ie.button(:value,'Next >').click
@@ie.wait
#Select a role for the party
@@ie.select_list(:id,'P62_PRTY_ROLE').set('Agent')
@@ie.wait
@@ie.select_list(:id,'P62_USER_SUPPLIER').set('Supplier1 - SU1')
@@ie.wait
@@ie.select_list(:id,'P62_SUPP_ADMIN').set('Supplier1 Administrator')
#fill in the contact details bits and bobs
@@ie.text_field(:id,'P62_PHONE').set('01234 567892')
@@ie.text_field(:id,'P62_FAX').set('01234 567892')
@@ie.text_field(:id,'P62_MOBILE').set('01234 567892')
@@ie.text_field(:id,'P62_EMAIL').set('agent1@supplier1.org')
@@ie.button(:value,'Next >').click
@@ie.wait
#use the existing address for the supplier
@@ie.text_field(:id,'P63_SELECT_ADDRESS').set('SU1_OFFICE')
@@ie.button(:value,'Copy Address').click
@@ie.wait
@@ie.button(:value,'Next >').click
@@ie.wait
#wont bother setting a home address as we don't need to so we'll create the supplier administrator
@@ie.button(:value,'Finish').click
@@ie.wait
assert(@@ie.contains_text('created successfully'),'AGENT not created correctly.')
end
#
#Test we can create a user (CS) in the system when logged on as MIPADMIN user.
#
def test_05_create_user_cs
#@@ie.goto(LOGIN)
#we'll need to login as a MIPADMIN user
#login('advantica','password')
#Navigate to the page using the menu
#menu('Administration')
#menu('User Management')
#menu('Create Party')
#create a new party
@@ie.button(:name,'CreateAnother').click
#select the type of party to create
@@ie.select_list(:id,'P61_PRTY_TYPE').set('User')
# set the field values
#@@ie.text_field(:id,'').set('')
@@ie.text_field(:id,'P61_USERNAME').set('CustServ1')
@@ie.text_field(:id,'P61_TITLE').set('Miss')
@@ie.text_field(:id,'P61_FIRST_NAME').set('Customer')
@@ie.text_field(:id,'P61_LAST_NAME').set('Services')
@@ie.text_field(:id,'P61_COMMENTS').set('This is a customer service for Supplier1. Created for testing.')
@@ie.text_field(:id,'P61_PASSWORD').set('Passw0rd.')
@@ie.text_field(:id,'P61_REPEAT_PASSWORD').set('Passw0rd.')
@@ie.select_list(:id,'P61_EXPIRE_PWORD').set('No') #Leave the user OPEN
@@ie.button(:value,'Next >').click
@@ie.wait
#Select a role for the party
@@ie.select_list(:id,'P62_PRTY_ROLE').set('Customer Service operative')
@@ie.wait
#@@ie.select_list(:id,'P62_USER_SUPPLIER').set('Supplier1 - SU1') - no supplier needed for a CS operative
#fill in the contact details bits and bobs
@@ie.text_field(:id,'P62_PHONE').set('01234 567893')
@@ie.text_field(:id,'P62_FAX').set('01234 567893')
@@ie.text_field(:id,'P62_MOBILE').set('01234 567893')
@@ie.text_field(:id,'P62_EMAIL').set('cs1@metering.ng.co.uk')
@@ie.button(:value,'Next >').click
@@ie.wait
#create a customer services address
@@ie.text_field(:id,'P63_OFF_CODE').set('CS_OFFICE')
@@ie.text_field(:id,'P63_OFF_SUB_BUILD').set('1')
@@ie.text_field(:id,'P63_OFF_BUILDING').set('Metering House')
@@ie.text_field(:id,'P63_OFF_STREET').set('Meter Road')
@@ie.text_field(:id,'P63_OFF_CITY').set('Meter City')
@@ie.text_field(:id,'P63_OFF_POSTCODE').set('LE11 3GR')
@@ie.button(:value,'Next >').click
@@ie.wait
#wont bother setting a home address as we don't need to so we'll create the supplier administrator
@@ie.button(:value,'Finish').click
assert(@@ie.contains_text('created successfully'),'CS user not created correctly.')
end
#
#Test we can create a user (ICU) in the system when logged on as MIPADMIN user.
#
def test_06_create_user_icu
#@@ie.goto(LOGIN)
#we'll need to login as a MIPADMIN user
#login('advantica','password')
#Navigate to the page using the menu
#menu('Administration')
#menu('User Management')
#menu('Create Party')
#create a new party
@@ie.button(:name,'CreateAnother').click
#select the type of party to create
@@ie.select_list(:id,'P61_PRTY_TYPE').set('User')
# set the field values
#@@ie.text_field(:id,'').set('')
@@ie.text_field(:id,'P61_USERNAME').set('ICU1')
@@ie.text_field(:id,'P61_TITLE').set('Mrs')
@@ie.text_field(:id,'P61_FIRST_NAME').set('ICU')
@@ie.text_field(:id,'P61_LAST_NAME').set('User')
@@ie.text_field(:id,'P61_COMMENTS').set('This is an ICU user for Supplier1. Created for testing.')
@@ie.text_field(:id,'P61_PASSWORD').set('Passw0rd.')
@@ie.text_field(:id,'P61_REPEAT_PASSWORD').set('Passw0rd.')
@@ie.select_list(:id,'P61_EXPIRE_PWORD').set('No') #Leave the user OPEN
@@ie.button(:value,'Next >').click
@@ie.wait
#Select a role for the party
@@ie.select_list(:id,'P62_PRTY_ROLE').set('Quotation operative')
@@ie.wait
#@@ie.select_list(:id,'P62_USER_SUPPLIER').set('Supplier1 - SU1')
#fill in the contact details bits and bobs
@@ie.text_field(:id,'P62_PHONE').set('01234 567894')
@@ie.text_field(:id,'P62_FAX').set('01234 567894')
@@ie.text_field(:id,'P62_MOBILE').set('01234 567894')
@@ie.text_field(:id,'P62_EMAIL').set('icu1@metering.ng.co.uk')
@@ie.button(:value,'Next >').click
@@ie.wait
#create a customer services address
@@ie.text_field(:id,'P63_OFF_CODE').set('ICU_OFFICE')
@@ie.text_field(:id,'P63_OFF_SUB_BUILD').set('2')
@@ie.text_field(:id,'P63_OFF_BUILDING').set('Metering House')
@@ie.text_field(:id,'P63_OFF_STREET').set('Meter Road')
@@ie.text_field(:id,'P63_OFF_CITY').set('Meter City')
@@ie.text_field(:id,'P63_OFF_POSTCODE').set('LE11 3GR')
@@ie.button(:value,'Next >').click
@@ie.wait
#wont bother setting a home address as we don't need to so we'll create the supplier administrator
@@ie.button(:value,'Finish').click
@@ie.wait
assert(@@ie.contains_text('created successfully'),'ICU user not created correctly.')
end
#
#Test we can create a market participant (SUPPLIER) in the system when logged on as MIPADMIN user.
#
def test_07_create_manu
@@ie.goto(LOGIN)
#we'll need to login as a MIPADMIN user
login('advantica','password')
#Navigate to the page using the menu
menu('Administration')
menu('User Management')
#menu('Create Party')
#create a new party
@@ie.button(:name,'Create New Party').click
#select the type of party to create
@@ie.select_list(:id,'P61_PRTY_TYPE').set('Manufacturer')
# set the field values
#@@ie.text_field(:id,'').set('')
@@ie.text_field(:id,'P61_NAME').set('Manufacturer1')
@@ie.text_field(:id,'P61_MANU_REF').set('Manu1')
@@ie.text_field(:id,'P61_DESCRIPTION').set('Test manufacturer created for testing.')
@@ie.button(:value,'Next >').click
@@ie.wait
#Select a role for the party
@@ie.select_list(:id,'P62_PRTY_ROLE').set('External organization')
@@ie.wait
@@ie.select_list(:id,'P62_ORG_SUPPLIER').set('Supplier1 - SU1')
@@ie.wait
#fill in the contact details bits and bobs
@@ie.text_field(:id,'P62_PHONE').set('01234 567890')
@@ie.text_field(:id,'P62_FAX').set('01234 567890')
@@ie.text_field(:id,'P62_MOBILE').set('01234 567890')
@@ie.text_field(:id,'P62_EMAIL').set('manu1@manufacturer1.org')
@@ie.button(:value,'Next >').click
@@ie.wait
#create a new address for the supplier
@@ie.text_field(:id,'P63_OFF_CODE').set('MANU1_OFFICE')
@@ie.text_field(:id,'P63_OFF_SUB_BUILD').set('1')
@@ie.text_field(:id,'P63_OFF_BUILDING').set('Manufacturer1')
@@ie.text_field(:id,'P63_OFF_STREET').set('A Street')
@@ie.text_field(:id,'P63_OFF_CITY').set('Manufacturer City')
@@ie.text_field(:id,'P63_OFF_POSTCODE').set('LE11 3GR')
@@ie.button(:value,'Next >').click
@@ie.wait
#wont bother setting a home address as we don't need to so we'll create the supplier
@@ie.button(:value,'Finish').click
@@ie.wait
assert(@@ie.contains_text('created successfully'),'MANU not created correctly.')
end
end
class Test_10_SUPPADMIN_party_management< Test::Unit::TestCase
#
#Test we can create a user (AGENT) in the system when logged on as SUPPADMIN user.
#
def test_01_create_user_agent
@@ie.goto(LOGIN)
#we'll need to login as a SUPPADMIN user
#use the one created in test 3 above
login('SuppAdmin1','Passw0rd.')
#Navigate to the page using the menu
menu('Administration')
menu('User Management')
menu('Create Party')
#select the type of party to create
@@ie.select_list(:id,'P61_PRTY_TYPE').set('User')
# set the field values
#@@ie.text_field(:id,'').set('')
@@ie.text_field(:id,'P61_USERNAME').set('SuppAgent2')
@@ie.text_field(:id,'P61_TITLE').set('Mr')
@@ie.text_field(:id,'P61_FIRST_NAME').set('Agent2')
@@ie.text_field(:id,'P61_LAST_NAME').set('Test-Agent')
@@ie.text_field(:id,'P61_COMMENTS').set('This is an agent for Supplier1. Created for testing by SUPPADMIN user.')
@@ie.text_field(:id,'P61_PASSWORD').set('Passw0rd.')
@@ie.text_field(:id,'P61_REPEAT_PASSWORD').set('Passw0rd.')
@@ie.select_list(:id,'P61_EXPIRE_PWORD').set('No')
@@ie.button(:value,'Next >').click
@@ie.wait
#Select a role for the party
@@ie.select_list(:id,'P62_PRTY_ROLE').set('Agent')
@@ie.wait
@@ie.select_list(:id,'P62_USER_SUPPLIER').set('Supplier1 - SU1')
@@ie.wait
@@ie.select_list(:id,'P62_SUPP_ADMIN').set('Supplier1 Administrator')
#fill in the contact details bits and bobs
@@ie.text_field(:id,'P62_PHONE').set('01234 567810')
@@ie.text_field(:id,'P62_FAX').set('01234 567810')
@@ie.text_field(:id,'P62_MOBILE').set('01234 567810')
@@ie.text_field(:id,'P62_EMAIL').set('agent2@supplier1.org')
@@ie.button(:value,'Next >').click
@@ie.wait
#use the existing address for the supplier
@@ie.text_field(:id,'P63_SELECT_ADDRESS').set('SU1_OFFICE')
@@ie.button(:value,'Copy Address').click
@@ie.wait
@@ie.button(:value,'Next >').click
@@ie.wait
#wont bother setting a home address as we don't need to so we'll create the supplier administrator
@@ie.button(:value,'Finish').click
@@ie.wait
assert(@@ie.contains_text('created successfully'),'AGENT not created correctly.')
end
end
class Test_11_edit_parties< Test::Unit::TestCase
#
#Test we can edit a user (AGENT) in the system when logged on as MIPADMIN user.
#
def test_01_edit_parties_screen_appears
@@ie.goto(LOGIN)
#we'll need to login as a MIPADMIN user
login('advantica','password')
#Navigate to the page using the menu
menu('Administration')
menu('User Management')
menu('Edit Parties')
#simple screen, only 1 object
assert(@@ie.select_list(:id,'P65_PRTY_TYPE').exists?,'Could not find P65_PRTY_TYPE select list')
#check user fields
@@ie.link(:name,'Edit Current User').click
assert(@@ie.button(:value,'Cancel').exists?,'Could not find Cancel button(user fields)')
assert(@@ie.button(:value,'Apply Changes').exists?,'Could not find Apply Changes button')
assert(@@ie.select_list(:id,'P66_STATUS').exists?,'Could not find P66_STATUS select list')
assert(@@ie.text_field(:id,'P66_FIRST_NAME').exists?,'Could not find P66_FIRST_NAME field')
assert(@@ie.text_field(:id,'P66_LAST_NAME').exists?,'Could not find P66_LAST_NAME field')
assert(@@ie.text_field(:id,'P66_PERSONAL_TITLE').exists?,'Could not find P66_PERSONAL_TITLE field')
assert(@@ie.text_field(:id,'P66_COMMENTS').exists?,'Could not find P66_COMMENTS field')
assert(@@ie.button(:value,'Add Address').exists?,'Could not find Add Address button')
assert(@@ie.text_field(:id,'P66_TELEPHONE').exists?,'Could not find P66_TELEPHONE field')
assert(@@ie.text_field(:id,'P66_MOBILE').exists?,'Could not find P66_MOBILE field')
assert(@@ie.text_field(:id,'P66_FAX').exists?,'Could not find P66_FAX field')
assert(@@ie.text_field(:id,'P66_EMAIL').exists?,'Could not find P66_EMAIL field')
@@ie.button(:value,'Cancel').click
@@ie.wait
#check market participant fields
@@ie.select_list(:id,'P65_PRTY_TYPE').set('Market Participant')
@@ie.link(:name,'Edit Supplier1 SU1').click
@@ie.wait
assert(@@ie.button(:value,'Cancel').exists?,'Could not find Cancel button(mktp fields)')
assert(@@ie.button(:value,'Delete').exists?,'Could not find Delete button')
assert(@@ie.button(:value,'Apply Changes').exists?,'Could not find Apply Changes button')
assert(@@ie.text_field(:id,'P66_SHORTCODE').exists?,'Could not find P66_SHORTCODE field')
assert(@@ie.text_field(:id,'P66_NAME').exists?,'Could not find P66_NAME field')
assert(@@ie.text_field(:id,'P66_MKTP_REF').exists?,'Could not find P66_MKTP_REF field')
assert(@@ie.text_field(:id,'P66_LT_7B_CONTRACT_REF').exists?,'Could not find P66_LT_7B_CONTRACT_REF field')
assert(@@ie.text_field(:id,'P66_GT_7B_CONTRACT_REF').exists?,'Could not find P66_GT_7B_CONTRACT_REF field')
assert(@@ie.text_field(:id,'P66_ADVERSARIAL_CONTRACT_REF').exists?,'Could not find P66_ADVERSARIAL_CONTRACT_REF field')
assert(@@ie.button(:value,'Add Address').exists?,'Could not find Add Address button')
assert(@@ie.text_field(:id,'P66_TELEPHONE').exists?,'Could not find P66_TELEPHONE field')
assert(@@ie.text_field(:id,'P66_MOBILE').exists?,'Could not find P66_MOBILE field')
assert(@@ie.text_field(:id,'P66_FAX').exists?,'Could not find P66_FAX field')
assert(@@ie.text_field(:id,'P66_EMAIL').exists?,'Could not find P66_EMAIL field')
@@ie.button(:value,'Cancel').click
@@ie.wait
#check manufacturer fields
@@ie.select_list(:id,'P65_PRTY_TYPE').set('Manufacturer')
@@ie.link(:name,'Edit Manufacturer1 ').click
@@ie.wait
assert(@@ie.button(:value,'Cancel').exists?,'Could not find Cancel button(manu fields)')
assert(@@ie.button(:value,'Apply Changes').exists?,'Could not find Apply Changes button')
assert(@@ie.text_field(:id,'P66_MANU_REF').exists?,'Could not find P66_MANU_REF field')
assert(@@ie.text_field(:id,'P66_NAME').exists?,'Could not find P66_NAME field')
assert(@@ie.text_field(:id,'P66_DESCRIPTION').exists?,'Could not find P66_DESCRIPTION field')
assert(@@ie.button(:value,'Add Address').exists?,'Could not find Add Address button')
assert(@@ie.text_field(:id,'P66_TELEPHONE').exists?,'Could not find P66_TELEPHONE field')
assert(@@ie.text_field(:id,'P66_MOBILE').exists?,'Could not find P66_MOBILE field')
assert(@@ie.text_field(:id,'P66_FAX').exists?,'Could not find P66_FAX field')
assert(@@ie.text_field(:id,'P66_EMAIL').exists?,'Could not find P66_EMAIL field')
@@ie.button(:value,'Add Address').click
@@ie.wait
assert(@@ie.select_list(:id,'P69_SELECT_ADDRESS').exists?,'Could not find P69_SELECT_ADDRESS select list')
assert(@@ie.button(:value,'Copy Address').exists?,'Could not find Copy Address button')
assert(@@ie.text_field(:id,'P69_ADDR_CODE').exists?,'Could not find P69_ADDR_CODE field')
assert(@@ie.select_list(:id,'P69_ADDR_TYPE').exists?,'Could not find P69_ADDR_TYPE select list')
assert(@@ie.text_field(:id,'P69_ADDR_SUB_BUILDING').exists?,'Could not find P69_ADDR_SUB_BUILDING field')
assert(@@ie.text_field(:id,'P69_ADDR_BUILDING').exists?,'Could not find P69_ADDR_BUILDING field')
assert(@@ie.text_field(:id,'P69_ADDR_STREET').exists?,'Could not find P69_ADDR_STREET field')
assert(@@ie.text_field(:id,'P69_ADDR_CITY').exists?,'Could not find P69_ADDR_CITY field')
assert(@@ie.text_field(:id,'P69_ADDR_POSTCODE').exists?,'Could not find P69_ADDR_POSTCODE field')
assert(@@ie.button(:value,'Save').exists?,'Could not find Save button')
end
def test_02_edit_users
@@ie.goto(LOGIN)
#we'll need to login as a MIPADMIN user
login('advantica','password')
#Navigate to the page using the menu
menu('Administration')
menu('User Management')
menu('Edit Parties')
@@ie.link(:name,'Edit Current User').click
@@ie.text_field(:id,'P66_FIRST_NAME').set('Updated')
@@ie.text_field(:id,'P66_TELEPHONE').set('01234 567899')
@@ie.button(:value,'Apply Changes').click
assert(@@ie.contains_text('Action Processed.'),'Party not updated correctly')
#edit a different user
#@@ie.goto(EDIT_PARTIES)
@@ie.select_list(:id,'P65_PRTY_TYPE').set('User')
@@ie.link(:name,'Edit SuppAgent1 ').click
@@ie.wait
@@ie.text_field(:id,'P66_TELEPHONE').set('01234 567899')
@@ie.button(:value,'Apply Changes').click
@@ie.wait
assert(@@ie.contains_text('Action Processed.'),'Party not updated correctly')
@@ie.goto(LOGIN)
#we'll need to login as a SUPPADMIN user
login('SuppAdmin1','Passw0rd.')
#Navigate to the page using the menu
menu('Administration')
menu('User Management')
menu('Edit Parties')
@@ie.link(:name,'Edit Current User').click
@@ie.wait
@@ie.text_field(:id,'P66_FIRST_NAME').set('Updated')
@@ie.text_field(:id,'P66_TELEPHONE').set('01234 567899')
@@ie.button(:value,'Apply Changes').click
@@ie.wait
assert(@@ie.contains_text('Action Processed.'),'Party not updated correctly')
@@ie.goto(LOGIN)
#we'll need to login as a SUPPADMIN user
login('Agent1','Passw0rd.')
#Navigate to the page using the menu
menu('Administration')
menu('User Management')
menu('Edit Parties')
@@ie.link(:name,'Edit Current User').click
@@ie.wait
@@ie.text_field(:id,'P66_FIRST_NAME').set('Updated')
@@ie.text_field(:id,'P66_TELEPHONE').set('01234 567800')
@@ie.button(:value,'Apply Changes').click
@@ie.wait
assert(@@ie.contains_text('Action Processed.'),'Party not updated correctly')
@@ie.link(:name,'Edit SuppAgent1 ').click
@@ie.wait
@@ie.text_field(:id,'P66_TELEPHONE').set('01234 567809')
@@ie.button(:value,'Apply Changes').click
@@ie.wait
assert(@@ie.contains_text('Action Processed.'),'Party not updated correctly')
end
def test_03_edit_supplier
@@ie.goto(LOGIN)
#we'll need to login as a MIPADMIN user
login('advantica','password')
#Navigate to the page using the menu
menu('Administration')
menu('User Management')
menu('Edit Parties')
#edit a supplier, the one created above for ease...
@@ie.select_list(:id,'P65_PRTY_TYPE').set('Market Participant')
@@ie.link(:name,'Edit Supplier1 SU1').click
#add an address
@@ie.button(:value,'Add Address').click
@@ie.text_field(:id,'P69_ADDR_CODE').set('SU1_OFFICE2')
@@ie.select_list(:id,'P69_ADDR_TYPE').set('OFFICE')
@@ie.text_field(:id,'P69_ADDR_SUB_BUILDING').set('2')
@@ie.text_field(:id,'P69_ADDR_BUILDING').set('Building 2')
@@ie.text_field(:id,'P69_ADDR_STREET').set('Supplier Street')
@@ie.text_field(:id,'P69_ADDR_CITY').set('Supplierton')
@@ie.text_field(:id,'P69_ADDR_POSTCODE').set('LE11 3GR')
@@ie.button(:value,'Save').click
@@ie.wait
@@ie.button(:value,'Apply Changes').click
@@ie.wait
assert(@@ie.contains_text('Action Processed.'),'Party not updated correctly')
end
end