def test_prm_description(data): """ Work Description: PRM Work Description should be synced as Leankit Card Description on Project Sync """ PRM().ProjectWithDescription('Auto_Project_97154', data.description, lk_flag=True) \ .run_integration() \ .goto_lk().Card('Auto_Project_97154').verify_description(data.description)
def test_description_with_numbers(data): """ Work Description: Sync Work Description with numbers """ PRM().ProjectWithDescription('Auto_Project_97161', data.numeric_description, lk_flag=True) \ .run_integration() \ .goto_lk().Card('Auto_Project_97161').verify_description(data.numeric_description)
def test_description_with_special_characters(data): """ Work Description: Sync Work Description with special characters """ PRM().ProjectWithDescription('Auto_Project_97158', data.special_character_description, lk_flag=True) \ .run_integration() \ .goto_lk().Card('Auto_Project_97158').verify_description(data.special_character_description)
def test_card_text_field(): """ Verify LK Card Text field on project sync """ PRM().Project(prm_module_project) \ .run_integration(skip=True) \ .goto_prm().Project(prm_module_project).verify_lk_card_text()
def test_title_with_special_character(data): """ Sync Work Name with special characters """ PRM().Project(data.name_with_special_character, lk_flag=True) \ .run_integration() \ .goto_lk().Card(data.name_with_special_character).verify_title(data.name_with_special_character)
def test_title_with_numbers(data): """ Sync Work Name with Numbers """ PRM().Project(data.name_with_numbers, lk_flag=True) \ .run_integration() \ .goto_lk().Card(data.name_with_numbers).verify_title(data.name_with_numbers)
def test_card_link_url(): """ Verify LK Card field on project sync """ PRM().Project(prm_module_project) \ .run_integration(skip=True) \ .goto_prm().Project(prm_module_project).verify_lk_url()
def test_prm_name(): """ Work Name: PRM Work Name should be synced as Leankit Card Title on Project Sync """ PRM().Project('Auto_Project_98482', lk_flag=True) \ .run_integration() \ .goto_lk().Card('Auto_Project_98482').verify_title('Auto_Project_98482')
def test_blocked_flag_on_project_sync(): """ Verify LK Blocked Flag field in PRM on project sync """ PRM().Project('Auto_97162', lk_flag=True) \ .run_integration() \ .goto_prm().Project('Auto_97162').verify_lk_blocked_flag('No')
def test_default_priority(): """ Default Priority of Leankit Card should be synced on project sync """ PRM().Project('Auto_97151', lk_flag=True) \ .run_integration() \ .goto_prm().Project('Auto_97151').verify_lk_priority( 'Normal')
def test_card_type_field(): """ Verify LK Card Type field in PRM """ PRM().Project('Auto_98413', lk_flag=True)\ .run_integration() \ .goto_prm().Project('Auto_98413').verify_lk_card_type() \ .goto_lk().Card('Auto_98413', board='board1').verify_card_type()
def test_card_creator_in_lk(data): """ Verify Card creator in Leankit """ PRM().Project(data.proj_name, lk_flag=True) \ .run_integration() \ .goto_prm().Project(data.proj_name).verify_lk_url() \ .goto_lk().Card(data.proj_name).verify_creator(data.lk_const.user_name)
def test_top_lane_field(): """ Verify LK Top Lane field in PRM """ PRM().Project('Auto_97705', lk_flag=True) \ .run_integration() \ .goto_prm().Project('Auto_97705').verify_default_lk_top_lane() \ .goto_lk().Card('Auto_97705').verify_default_top_lane()
def test_block_synced_card_and_sync_again(): """ Block synced card in Leankit and sync again """ PRM().Project(prm_module_project) \ .run_integration(skip=True) \ .goto_lk().Card(prm_module_project).set_blocked_flag(True).update() \ .run_integration() \ .goto_prm().Project(prm_module_project).verify_lk_blocked_flag('Yes')
def test_update_card_type_in_lk(): """ LK Card Type: Update card Type for a synced card in Leankit and sync again """ PRM().Project('Auto_98414', lk_flag=True) \ .run_integration() \ .goto_lk().Card('Auto_98414').set_card_type('non_default').update() \ .run_integration() \ .goto_prm().Project('Auto_98414').verify_lk_card_type(card_type='non_default')
def test_update_description_with_special_characters(data): """ Work Description: Update synced card description with special characters in Leankit and sync again """ PRM().ProjectWithDescription(prm_module_project, description) \ .run_integration(skip=True) \ .goto_lk().Card(prm_module_project).update_description(data.special_character_description) \ .run_integration() \ .goto_prm().Project(prm_module_project).verify_description(data.special_character_description)
def test_update_description_in_lk(data): """ Work Description: Update synced card description in Leankit and sync again """ PRM().ProjectWithDescription(prm_module_project, description) \ .run_integration(skip=True) \ .goto_lk().Card(prm_module_project).update_description(data.new_description) \ .run_integration() \ .goto_prm().Project(prm_module_project).verify_description(data.new_description)
def test_delete_description_in_lk(): """ Work Description: Delete synced card description in Leankit and sync again """ PRM().ProjectWithDescription('Auto_Project_97157', '97157_Project_Description', lk_flag=True) \ .run_integration() \ .goto_lk().Card('Auto_Project_97157').delete_description() \ .run_integration() \ .goto_prm().Project('Auto_Project_97157').verify_description('')
def test_description_with_max_characters(data): """ Work Description: set work description with more than 20000 characters and sync again BUG : PVE-98475 NOTE: This test is failing as integration allows more than 20k characters for leankit description """ PRM().ProjectWithDescription('Auto_Project_98359', data.desc_with_max_characters, lk_flag=True) \ .run_integration() \ .goto_lk().Card('Auto_Project_98359').verify_description(data.truncated_desc)
def test_update_card_title_with_numbers(data): """ Update synced card Title with Numbers in Leankit and sync again """ PRM().Project('Auto_Project_98486', lk_flag=True) \ .run_integration() \ .goto_lk().Card('Auto_Project_98486').update_title(data.title_with_numbers) \ .run_integration() \ .goto_prm().Project(data.title_with_numbers).verify_name(data.title_with_numbers) \ .goto_lk().Card(data.title_with_numbers).verify_title(data.title_with_numbers)
def test_update_card_title_with_special_character(data): """ Update synced card Title with special characters in Leankit and sync again """ PRM().Project('Auto_Project_98485', lk_flag=True) \ .run_integration() \ .goto_lk().Card('Auto_Project_98485').update_title(data.title_with_special_character) \ .run_integration() \ .goto_prm().Project(data.title_with_special_character).verify_name(data.title_with_special_character) \ .goto_lk().Card(data.title_with_special_character).verify_title(data.title_with_special_character)
def test_update_description_in_prm(data): """ Work Description: Update synced project work description in PRM and sync again """ PRM().ProjectWithDescription('Auto_Project_97156', data.description, lk_flag=True) \ .run_integration() \ .goto_prm().Project('Auto_Project_97156').update_description(data.new_description) \ .run_integration() \ .goto_lk().Card('Auto_Project_97156').verify_description(data.description) \ .goto_prm().Project('Auto_Project_97156').verify_description(data.description)
def test_update_card_title_with_max_length(data): """ Update synced card Title with max characters(255) in Leankit and sync again """ PRM().Project('Auto_Project_98487', lk_flag=True) \ .run_integration() \ .goto_lk().Card('Auto_Project_98487').update_title(data.title_with_max_characters) \ .run_integration() \ .goto_prm().Project(data.truncated_title).verify_truncated_name(data.truncated_title) \ .goto_lk().Card(data.title_with_max_characters).verify_title(data.title_with_max_characters)
def test_update_prm_project_name(): """ Update synced Project Name in PRM and sync again """ PRM().Project('Auto_Project_98488', lk_flag=True) \ .run_integration() \ .goto_prm().Project('Auto_Project_98488').update_name('Updated_Auto_Project_98488') \ .run_integration() \ .goto_prm().Project('Auto_Project_98488').verify_name('Auto_Project_98488') \ .goto_lk().Card('Auto_Project_98488').verify_title('Auto_Project_98488')
def test_completed_child_cards(): """Create child cards in Leankit and verify "LK Completed Child card" in PRM""" PRM().Project(prm_module_project) \ .run_integration(skip=True) \ .goto_lk().Card(prm_module_project).create_multiple_child_cards(['C1', 'C2']) \ .goto_card('C1').set_lane('completed').set_size(25).update() \ .goto_card('C2').set_lane('completed').set_size(25).update() \ .run_integration() \ .goto_prm().Project(prm_module_project).verify_lk_completed_child_cards(50)
def test_recreate_deleted_cards_false(): """ Delete a synched card in Leankit when "lk_sync_recreate_deleted_cards" is false in Leankit config.ini """ PRM().Project('Auto_Project_96955', lk_flag=True)\ .run_integration() \ .goto_lk().Card('Auto_Project_96955').delete() \ .run_integration(integration_type='card_recreate_disabled') \ .goto_lk().Card('Auto_Project_96955').not_exists() \ .goto_prm().Project('Auto_Project_96955').exists()
def test_actual_start_date_for_in_process_card(): """ Verify LK Actual Start Field for a in process card """ PRM().Project(prm_module_project) \ .run_integration(skip=True) \ .goto_lk().Card(prm_module_project).set_lane('in_process').update()\ .run_integration()\ .goto_prm().Project(prm_module_project).verify_lk_actual_start()
def test_actual_dates_for_child_card_complete(): """ In LK move a child card to "complete" lane and verify "LK Earliest Actual Start" and "LK Latest Actual Finish" in PRM """ PRM().Project(prm_module_project)\ .run_integration(skip=True) \ .goto_lk().Card(prm_module_project).create_child_card('C1') \ .goto_card('C1').set_lane('completed').update() \ .run_integration() \ .goto_prm().Project(prm_module_project).verify_lk_earliest_actual_start() \ .verify_lk_latest_actual_finish()
def test_scheduled_start_scheduled_finish(data): """ PRM-LK: Verify LK Planned Start, LK Planned Finish fields when PRM project has schedule start and schedule finish """ PRM().Project(data.name, lk_flag=True) \ .update_scheduled_start_and_finish(data.scheduled_start, data.scheduled_finish)\ .run_integration() \ .goto_lk().Card(data.name).verify_planned_start(data.scheduled_start)\ .verify_planned_finish(data.scheduled_finish)\ .goto_prm().Project(data.name).verify_lk_planned_start(data.scheduled_start)\ .verify_lk_planned_finish(data.scheduled_finish)\
def test_unblock_synced_card(): """ Unblock blocked synced card in Leankit and sync """ PRM().Project(prm_module_project)\ .run_integration(skip=True) \ .goto_lk().Card(prm_module_project).set_blocked_flag(True).update() \ .run_integration() \ .goto_lk().Card(prm_module_project).set_blocked_flag(False).update() \ .run_integration() \ .goto_prm().Project(prm_module_project).verify_lk_blocked_flag('No')