Exemplo n.º 1
0
 def assert_objs_diff_corresponds_to_proposal(self, obj, proposal):
     """Check if objs difference corresponds to the proposal."""
     self.open_obj_change_proposals_tab(obj).click_review_apply_btn(
         proposal)
     comparison_window = apply_decline_proposal.CompareApplyDeclineModal()
     comparison_window.modal.wait_until(lambda e: e.exists)
     obj_name = objects.get_plural(obj.type)
     service_cls = factory.get_cls_webui_service(obj_name)(self._driver)
     current_obj = service_cls.build_obj_from_page(
         comparison_window.curr_version_obj_root_elem.wait_until(
             lambda e: e.exists))
     obj_after_proposal = service_cls.build_obj_from_page(
         comparison_window.proposal_version_obj_root_elem.wait_until(
             lambda e: e.exists))
     actual_proposal = entities_factory.ProposalsFactory().create()
     proposal_obj_dict = obj_after_proposal.__dict__
     current_obj_dict = current_obj.__dict__
     actual_proposal.changes = []
     for key in obj_after_proposal.__dict__.keys():
         if proposal_obj_dict[key] != current_obj_dict[key]:
             actual_proposal.changes.append({
                 "obj_attr_type":
                 key.title(),
                 "cur_value":
                 current_obj_dict[key],
                 "proposed_value":
                 proposal_obj_dict[key]
             })
     actual_proposal.author = comparison_window.get_proposal_version_author(
     )
     actual_proposal.datetime = (
         comparison_window.get_proposal_version_datetime())
     comparison_window.click_cancel_btn()
     assert actual_proposal == proposal
Exemplo n.º 2
0
 def create_proposal(self, obj):
   """Create a proposal for an obj."""
   obj_info_page = factory.get_cls_webui_service(objects.get_plural(
       obj.type))(self._driver).open_info_page_of_obj(obj)
   obj_info_page.click_propose_changes()
   proposal_factory = entities_factory.ProposalsFactory()
   proposal = proposal_factory.create()
   proposed_description = proposal_factory.generate_string("Proposal")
   proposal_modal = object_modal.BaseObjectModal(self._driver)
   proposal_modal.set_description(proposed_description)
   proposal_modal.click_propose()
   proposal.changes = [{"obj_attr_type": "Description",
                        "cur_value": obj.description,
                        "proposed_value": proposed_description}]
   return proposal