def create_and_clone_audit(self, new_program_rest, new_control_rest, map_new_program_rest_to_new_control_rest, new_audit_rest, new_assessment_rest, new_assessment_template_rest, new_issue_rest, selenium): """Create Audit with clonable and non clonable objects via REST API and clone it with them via UI. Preconditions: - Program, Control created via REST API. - Control mapped to Program via REST API. - Audit created under Program via REST API. - Assessment, Assessment Template, Issue created under Audit via REST API. - Issue mapped to Audit via REST API. """ # pylint: disable=too-many-locals expected_audit = entities_factory.AuditsFactory().clone( audit=new_audit_rest)[0] expected_asmt_tmpl = entities_factory.AssessmentTemplatesFactory( ).clone(asmt_tmpl=new_assessment_template_rest)[0] actual_audit = (webui_service.AuditsService( selenium).clone_via_info_page_and_get_obj( audit_obj=new_audit_rest)) return { "audit": new_audit_rest, "expected_audit": expected_audit, "actual_audit": actual_audit, "assessment": new_assessment_rest, "issue": new_issue_rest, "assessment_template": new_assessment_template_rest, "expected_assessment_template": expected_asmt_tmpl, "control": new_control_rest, "program": new_program_rest }
def test_asmt_tmpl_creation(self, new_program_rest, new_audit_rest, selenium): """Check if Assessment Template can be created from Audit page via Assessment Templates widget. Preconditions: - Audit created under Program via REST API. """ expected_asmt_tmpl = ( entities_factory.AssessmentTemplatesFactory().create().repr_ui()) (webui_service.AssessmentTemplatesService( selenium).create_obj_via_tree_view(src_obj=new_audit_rest, obj=expected_asmt_tmpl)) actual_asmt_tmpls_tab_count = ( webui_service.AssessmentTemplatesService( selenium).get_count_objs_from_tab(src_obj=new_audit_rest)) assert len([expected_asmt_tmpl]) == actual_asmt_tmpls_tab_count actual_asmt_tmpls = (webui_service.AssessmentTemplatesService( selenium).get_list_objs_from_tree_view(src_obj=new_audit_rest)) # due to 'expected_asmt_tmpl.updated_at = None' actual_asmt_tmpls = [ actual_asmt_tmpl.update_attrs(updated_at=None) for actual_asmt_tmpl in actual_asmt_tmpls ] assert [expected_asmt_tmpl] == actual_asmt_tmpls, ( messages.AssertionMessages.format_err_msg_equal( [expected_asmt_tmpl], actual_asmt_tmpls))
def create_and_clone_audit_w_params_to_update( self, request, new_program_rest, new_control_rest, map_new_program_rest_to_new_control_rest, new_audit_rest, new_assessment_rest, new_assessment_template_rest, new_issue_rest, selenium): """Create Audit with clonable and non clonable objects via REST API and clone it with them via UI. Preconditions: - Program, Control created via REST API. - Control mapped to Program via REST API. - Audit created under Program via REST API. - Assessment, Assessment Template, Issue created under Audit via REST API. - Issue mapped to Audit via REST API. """ # pylint: disable=too-many-locals if hasattr(request, "param") and request.param: if isinstance(request.param, tuple): fixture, params_to_update = request.param # fixtures which are objects if fixture in request.fixturenames and fixture.startswith( "new_"): fixture = locals().get(fixture) (get_cls_rest_service(objects.get_plural( fixture.type))().update_obj(obj=fixture, **params_to_update)) expected_audit = entities_factory.AuditsFactory().clone( audit=new_audit_rest)[0] expected_asmt_tmpl = entities_factory.AssessmentTemplatesFactory( ).clone(asmt_tmpl=new_assessment_template_rest)[0] actual_audit = (webui_service.AuditsService( selenium).clone_via_info_page_and_get_obj( audit_obj=new_audit_rest)) return { "audit": new_audit_rest, "expected_audit": expected_audit, "actual_audit": actual_audit, "assessment": new_assessment_rest, "issue": new_issue_rest, "assessment_template": new_assessment_template_rest, "expected_assessment_template": expected_asmt_tmpl, "control": new_control_rest, "program": new_program_rest }
def test_asmt_tmpl_creation(self, program, audit, selenium): """Check if Assessment Template can be created from Audit page via Assessment Templates widget. Preconditions: - Audit created under Program via REST API. """ expected_asmt_tmpl = ( entities_factory.AssessmentTemplatesFactory().create()) asmt_tmpls_ui_service = webui_service.AssessmentTemplatesService( selenium) asmt_tmpls_ui_service.create_obj_via_tree_view(src_obj=audit, obj=expected_asmt_tmpl) actual_asmt_tmpls_tab_count = ( asmt_tmpls_ui_service.get_count_objs_from_tab(src_obj=audit)) assert len([expected_asmt_tmpl]) == actual_asmt_tmpls_tab_count actual_asmt_tmpls = asmt_tmpls_ui_service.get_list_objs_from_tree_view( src_obj=audit) # 'expected_asmt_tmpls': modified_by (None) *factory # 'actual_asmt_tmpls': assignees, verifiers, template_object_type (None) self.general_equal_assert([expected_asmt_tmpl], actual_asmt_tmpls, "modified_by", "assignees", "verifiers", "template_object_type", "slug")
def test_asmt_tmpl_creation(self, new_program_rest, new_audit_rest, selenium): """Check if Assessment Template can be created from Audit page via Assessment Templates widget. Preconditions: - Audit created under Program via REST API. """ expected_asmt_tmpl = ( entities_factory.AssessmentTemplatesFactory().create().repr_ui()) asmt_tmpls_ui_service = webui_service.AssessmentTemplatesService( selenium) asmt_tmpls_ui_service.create_obj_via_tree_view(src_obj=new_audit_rest, obj=expected_asmt_tmpl) actual_asmt_tmpls_tab_count = ( asmt_tmpls_ui_service.get_count_objs_from_tab( src_obj=new_audit_rest)) assert len([expected_asmt_tmpl]) == actual_asmt_tmpls_tab_count actual_asmt_tmpls = asmt_tmpls_ui_service.get_list_objs_from_tree_view( src_obj=new_audit_rest) # 'expected_asmt_tmpl': modified_by (None) *factory self.general_equal_assert([expected_asmt_tmpl], actual_asmt_tmpls, "modified_by")