def assert_proposal_apply_btns_exist(selenium, obj, proposals, apply_btn_exists): """Check proposal apply buttons existence.""" actual_apply_btns_existence = [ proposal_ui_service.ProposalsService(selenium).has_proposal_apply_btn( obj, proposal) for proposal in proposals ] exp_apply_btns_existence = [apply_btn_exists] * len(proposals) assert exp_apply_btns_existence == actual_apply_btns_existence
def apply_proposal(selenium, obj, proposal_to_apply, proposal_to_change): """Apply an obj proposal.""" proposal_service = proposal_ui_service.ProposalsService(selenium) proposal_service.apply_proposal(obj, proposal_to_apply) change = proposal_to_apply.changes[0] # after applying the proposal obj attr is changed and every proposals to this # obj attr should change cur_value obj.__dict__[change["obj_attr_type"].lower()] = change["cur_value"] proposal_to_change.changes[0]["cur_value"] = change["cur_value"]
def assert_proposal_comparison_window_has_correct_info(selenium, obj, proposal): """Check if proposal comparison window has correct info.""" proposal_ui_service.ProposalsService( selenium).assert_objs_diff_corresponds_to_proposal(obj, proposal)
def get_related_proposals(selenium, obj): """Get related proposals.""" return proposal_ui_service.ProposalsService( selenium).get_related_proposals(obj)
def decline_proposal(selenium, obj, proposal): """Decline an obj proposal.""" proposal_service = proposal_ui_service.ProposalsService(selenium) proposal_service.decline_proposal(obj, proposal)
def create_proposal(selenium, obj): """Create a proposal to obj.""" return proposal_ui_service.ProposalsService(selenium).create_proposal(obj)
def apply_proposal(selenium, obj, proposal): """Apply an obj proposal.""" proposal_service = proposal_ui_service.ProposalsService(selenium) proposal_service.apply_proposal(obj, proposal)