From 3eb42b48d443efbceeb0c83eb415a0bf253f00c7 Mon Sep 17 00:00:00 2001 From: Muhammad Afaq Shuaib Date: Fri, 7 Feb 2025 00:43:45 +0500 Subject: [PATCH] temp: add temp workaround for taxi form post submit url fix --- .../populate_executive_education_data_csv.py | 7 +++-- ...t_populate_executive_education_data_csv.py | 29 +++++++++++++++++++ 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/course_discovery/apps/course_metadata/management/commands/populate_executive_education_data_csv.py b/course_discovery/apps/course_metadata/management/commands/populate_executive_education_data_csv.py index dce8c51857..591c4d6e04 100644 --- a/course_discovery/apps/course_metadata/management/commands/populate_executive_education_data_csv.py +++ b/course_discovery/apps/course_metadata/management/commands/populate_executive_education_data_csv.py @@ -408,5 +408,8 @@ def get_transformed_data(self, partially_filled_csv_dict, product_dict): ), 'external_course_marketing_type': product_dict['productType'], 'taxi_form_id': product_dict['edxTaxiFormId'], - 'post_submit_url': utils.format_base64_strings(product_dict['prospectusUrl']), - } + 'post_submit_url': ( + utils.format_base64_strings(product_dict['edxPlpUrl']).replace('/lp/', '/info/') + if not product_dict['prospectusUrl'] and product_dict['productType'] == 'sprint' + else utils.format_base64_strings(product_dict['prospectusUrl']) + ), diff --git a/course_discovery/apps/course_metadata/management/commands/tests/test_populate_executive_education_data_csv.py b/course_discovery/apps/course_metadata/management/commands/tests/test_populate_executive_education_data_csv.py index 9979fe0611..13c2b8282e 100644 --- a/course_discovery/apps/course_metadata/management/commands/tests/test_populate_executive_education_data_csv.py +++ b/course_discovery/apps/course_metadata/management/commands/tests/test_populate_executive_education_data_csv.py @@ -356,6 +356,35 @@ def test_successful_file_data_population_with_getsmarter_flag_with_multiple_vari ), ) + @mock.patch('course_discovery.apps.course_metadata.utils.GetSmarterEnterpriseApiClient') + def test_taxi_form_post_submit_url_in_case_prospectus_url_is_empty_and_product_type_sprint( + self, mock_get_smarter_client + ): + success_api_response = copy.deepcopy(self.SUCCESS_API_RESPONSE) + success_api_response['products'][0]['prospectusUrl'] = '' + success_api_response['products'][0]['productType'] = 'sprint' + success_api_response['products'][0]['edxPlpUrl'] = 'https://example.com/presentations/lp/example-course/' + mock_get_smarter_client.return_value.request.return_value.json.return_value = ( + self.mock_get_smarter_client_response( + override_get_smarter_client_response=success_api_response + ) + ) + with NamedTemporaryFile() as output_csv: + call_command( + 'populate_executive_education_data_csv', + '--output_csv', output_csv.name, + '--use_getsmarter_api_client', True, + ) + + output_csv.seek(0) + with open(output_csv.name, 'r') as csv_file: + reader = csv.DictReader(csv_file) + data_row = next(reader) + assert data_row['Title'] == 'Alternative CSV Course' + assert data_row['External Course Marketing Type'] == 'sprint' + assert data_row['Taxi Form Id'] == 'test-form-id' + assert data_row['Post Submit Url'] == 'https://example.com/presentations/info/example-course/' + @mock.patch("course_discovery.apps.course_metadata.utils.GetSmarterEnterpriseApiClient") @ddt.data( ("active", str(date.today().isoformat())), ("scheduled", "2024-03-20")