Commit a144eac1 authored by Marco Cavalli's avatar Marco Cavalli
Browse files

fix: update test case naming to preserve context and improve clarity

parent 494e7182
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -654,6 +654,7 @@ class GenerateRobotData:

        self.test_suite = {
            'tp_id': tp_id,
            'name': self.generate_iop_test_name(),
            'test_objective': self.suite.doc,
            'reference': reference,
            'config_id': str(),
@@ -670,6 +671,16 @@ class GenerateRobotData:
                test_name=self.robot.test_case_names[0]
            )

    def generate_iop_test_name(self) -> str:
        test_names = self.robot.test_case_names
        if len(test_names) == 1:
            return test_names[0]

        _, separator, name = test_names[0].partition(' ')
        name = name.replace(' With Default Context', '')
        name = name.replace(' With User Context', '')
        return f'{self.robot.test_suite}{separator}{name}'

    def _get_iop_setup(self, test_name: str):
        test = next((item for item in self.suite.tests if item.name == test_name), None)
        if test is None:
@@ -972,13 +983,8 @@ class GenerateRobotData:
        tags = self.robot.get_iop_test_tags(test_name)
        comments = self.robot.get_iop_comments(test_name)

        name = test_name
        if len(self.robot.test_case_names) > 1:
            name = name.replace(' With Default Context', '')
            name = name.replace(' With User Context', '')
        
        test_case = {
            'name': name,
            'name': test_name,
            'permutation_iop_id': self.base_TP_id,
            'tags': tags,
            'test_steps': comments,
+9 −3
Original line number Diff line number Diff line
@@ -77,15 +77,17 @@ Prepare Preconditions
        )

    def test_preserves_context_in_single_test_case_name(self):
        name = 'IOP_999_01 Scenario With Default Context'
        self.generate(
            variables='${b1_url}    ${EMPTY}',
            setup='    No Operation',
            test_name='IOP_999_01 Scenario With Default Context',
            test_name=name,
        )

        self.assertEqual(self.generated_info['name'], name)
        self.assertEqual(
            self.generated_info['test_cases'][0]['name'],
            'IOP_999_01 Scenario With Default Context'
            name
        )

    def test_generates_mixed_context_and_data_objects(self):
@@ -228,9 +230,13 @@ Prepare Preconditions
        user_conditions = self.generated_info['test_cases'][1]['initial_conditions']

        self.assertNotIn('initial_conditions', self.generated_info)
        self.assertEqual(self.generated_info['name'], 'IOP_999_01 Scenario')
        self.assertEqual(
            [test_case['name'] for test_case in self.generated_info['test_cases']],
            ['IOP_999_01_01 Scenario', 'IOP_999_01_02 Scenario']
            [
                'IOP_999_01_01 Scenario With Default Context',
                'IOP_999_01_02 Scenario With User Context',
            ]
        )
        self.assertEqual(
            default_conditions['pre_conditions'][0],