Complete Order History tab for students on account settings page.

ECOM-2361
This commit is contained in:
Waheed Ahmed
2016-05-23 18:50:16 +05:00
parent d19098bae2
commit b2f21ef4f3
16 changed files with 307 additions and 11 deletions

View File

@@ -0,0 +1,64 @@
"""
Stub implementation of ecommerce service for acceptance tests
"""
import re
import urlparse
from .http import StubHttpRequestHandler, StubHttpService
class StubEcommerceServiceHandler(StubHttpRequestHandler): # pylint: disable=missing-docstring
def do_GET(self): # pylint: disable=invalid-name, missing-docstring
pattern_handlers = {
'/api/v2/orders/$': self.get_orders_list,
}
if self.match_pattern(pattern_handlers):
return
self.send_response(404, content='404 Not Found')
def match_pattern(self, pattern_handlers):
"""
Find the correct handler method given the path info from the HTTP request.
"""
path = urlparse.urlparse(self.path).path
for pattern in pattern_handlers:
match = re.match(pattern, path)
if match:
pattern_handlers[pattern](**match.groupdict())
return True
return None
def get_orders_list(self):
"""
Stubs the orders list endpoint.
"""
orders = {
'results': [
{
'status': 'Complete',
'number': 'Edx-123',
'total_excl_tax': '100.0',
'date_placed': '2016-04-21T23:14:23Z',
'lines': [
{
'title': 'Test Course',
'product': {
'attribute_values': [
{
'name': 'certificate_type',
'value': 'verified'
}
]
}
}
],
}
]
}
orders = self.server.config.get('orders', orders)
self.send_json_response(orders)
class StubEcommerceService(StubHttpService): # pylint: disable=missing-docstring
HANDLER_CLASS = StubEcommerceServiceHandler

View File

@@ -4,7 +4,9 @@ Command-line utility to start a stub service.
import sys
import time
import logging
from .comments import StubCommentsService
from .ecommerce import StubEcommerceService
from .xqueue import StubXQueueService
from .youtube import StubYouTubeService
from .lti import StubLtiService
@@ -23,6 +25,7 @@ SERVICES = {
'video': VideoSourceHttpService,
'edxnotes': StubEdxNotesService,
'programs': StubProgramsService,
'ecommerce': StubEcommerceService,
}
# Log to stdout, including debug messages