diff --git a/common/djangoapps/terrain/stubs/ecommerce.py b/common/djangoapps/terrain/stubs/ecommerce.py index 082b09e6cf..6db67537fa 100644 --- a/common/djangoapps/terrain/stubs/ecommerce.py +++ b/common/djangoapps/terrain/stubs/ecommerce.py @@ -38,18 +38,14 @@ class StubEcommerceServiceHandler(StubHttpRequestHandler): # pylint: disable=mi { 'status': 'Complete', 'number': 'Edx-123', - 'total_excl_tax': '100.0', + 'total_excl_tax': '100.00', 'date_placed': '2016-04-21T23:14:23Z', 'lines': [ { 'title': 'Test Course', + 'line_price_excl_tax': '100.00', 'product': { - 'attribute_values': [ - { - 'name': 'certificate_type', - 'value': 'verified' - } - ] + 'product_class': 'Seat' } } ], diff --git a/common/test/acceptance/pages/lms/account_settings.py b/common/test/acceptance/pages/lms/account_settings.py index 793f714b45..a65461e3cc 100644 --- a/common/test/acceptance/pages/lms/account_settings.py +++ b/common/test/acceptance/pages/lms/account_settings.py @@ -72,7 +72,7 @@ class AccountSettingsPage(FieldsMixin, PageObject): def get_value_of_order_history_row_item(self, field_id, field_name): """ Return the text value of the provided order field name.""" query = self.q(css='.u-field-{} .u-field-order-{}'.format(field_id, field_name)) - return query.text[0] if query.present else None + return query.text if query.present else None def order_button_is_visible(self, field_id): """ Check that if hovering over the order history row shows the diff --git a/common/test/acceptance/tests/lms/test_account_settings.py b/common/test/acceptance/tests/lms/test_account_settings.py index ff5f0992a9..cd96e5af8c 100644 --- a/common/test/acceptance/tests/lms/test_account_settings.py +++ b/common/test/acceptance/tests/lms/test_account_settings.py @@ -489,15 +489,25 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, AcceptanceTest): # verify that we are on correct tab self.assertTrue(self.account_settings_page.is_order_history_tab_visible) - expected_order_data = { - 'title': 'Test Course', + expected_order_data_first_row = { + 'number': 'Order Number:\nEdx-123', 'date': 'Date Placed:\nApr 21, 2016', - 'price': 'Cost:\n$100.0', - 'number': 'Order Number:\nEdx-123' + 'price': 'Cost:\n$100.00', } - for field_name, value in expected_order_data.iteritems(): + expected_order_data_second_row = { + 'number': 'Product Name:\nTest Course', + 'date': 'Date Placed:\nApr 21, 2016', + 'price': 'Cost:\n$100.00', + } + + for field_name, value in expected_order_data_first_row.iteritems(): self.assertEqual( - self.account_settings_page.get_value_of_order_history_row_item('order-Edx-123', field_name), value + self.account_settings_page.get_value_of_order_history_row_item('order-Edx-123', field_name)[0], value + ) + + for field_name, value in expected_order_data_second_row.iteritems(): + self.assertEqual( + self.account_settings_page.get_value_of_order_history_row_item('order-Edx-123', field_name)[1], value ) self.assertTrue(self.account_settings_page.order_button_is_visible('order-Edx-123')) diff --git a/lms/djangoapps/commerce/tests/mocks.py b/lms/djangoapps/commerce/tests/mocks.py index d4a4489f40..8435fc040b 100644 --- a/lms/djangoapps/commerce/tests/mocks.py +++ b/lms/djangoapps/commerce/tests/mocks.py @@ -164,6 +164,22 @@ class mock_get_orders(mock_ecommerce_api_endpoint): )]) ) ] + ), + factories.OrderFactory( + lines=[ + factories.OrderLineFactory( + product=factories.ProductFactory(attribute_values=[factories.ProductAttributeFactory( + name='certificate_type', + value='verified' + )]) + ), + factories.OrderLineFactory( + product=factories.ProductFactory(attribute_values=[factories.ProductAttributeFactory( + name='certificate_type', + value='verified' + )]) + ), + ] ) ] } diff --git a/lms/djangoapps/commerce/utils.py b/lms/djangoapps/commerce/utils.py index e7282a5019..114e307c96 100644 --- a/lms/djangoapps/commerce/utils.py +++ b/lms/djangoapps/commerce/utils.py @@ -39,11 +39,10 @@ class EcommerceService(object): Receipt page for the specified Order. """ ecommerce_receipt_page_url = configuration_helpers.get_value('ECOMMERCE_RECEIPT_PAGE_URL') + if ecommerce_receipt_page_url: - receipt_page_url = self.get_absolute_ecommerce_url(ecommerce_receipt_page_url) - else: - receipt_page_url = self.config.receipt_page - return receipt_page_url + order_number + return self.get_absolute_ecommerce_url(ecommerce_receipt_page_url + order_number) + return self.config.receipt_page + order_number def is_enabled(self, user): """ diff --git a/lms/djangoapps/student_account/test/test_views.py b/lms/djangoapps/student_account/test/test_views.py index 71b0ae0c60..7dc4049a55 100644 --- a/lms/djangoapps/student_account/test/test_views.py +++ b/lms/djangoapps/student_account/test/test_views.py @@ -634,20 +634,21 @@ class AccountSettingsViewTest(ThirdPartyAuthTestMixin, TestCase, ProgramsApiConf self.assertContains(response, '