fix: parse creditRequest data correctly and add ecommerce URL to dev and test envs

This commit is contained in:
Jason Wesson
2023-05-17 20:19:09 +00:00
parent e57f44068b
commit 5048fffd04
9 changed files with 42 additions and 27 deletions

View File

@@ -22,6 +22,7 @@ FEATURE_FLAGS={}
MARKETING_SITE_BASE_URL='http://localhost:18000'
SUPPORT_URL='http://localhost:18000/support'
CONTACT_URL='http://localhost:18000/contact'
ECOMMERCE_PUBLIC_URL_ROOT='http://localhost:18130'
OPEN_SOURCE_URL='http://localhost:18000/openedx'
TERMS_OF_SERVICE_URL='http://localhost:18000/terms-of-service'
PRIVACY_POLICY_URL='http://localhost:18000/privacy-policy'

View File

@@ -2,6 +2,7 @@ NODE_ENV='test'
PORT=1996
BASE_URL='localhost:1996'
LMS_BASE_URL='http://localhost:18000'
ECOMMERCE_PUBLIC_URL_ROOT='http://localhost:18130'
LOGIN_URL='http://localhost:18000/login'
LOGOUT_URL='http://localhost:18000/logout'
LOGO_URL=https://edx-cdn.org/v3/default/logo.svg

View File

@@ -1,6 +1,7 @@
const configuration = {
// BASE_URL: process.env.BASE_URL,
LMS_BASE_URL: process.env.LMS_BASE_URL,
ECOMMERCE_PUBLIC_URL_ROOT: process.env.ECOMMERCE_PUBLIC_URL_ROOT,
// LOGIN_URL: process.env.LOGIN_URL,
// LOGOUT_URL: process.env.LOGOUT_URL,
// CSRF_TOKEN_API_PATH: process.env.CSRF_TOKEN_API_PATH,

View File

@@ -42,8 +42,10 @@ CreditContent.propTypes = {
}),
message: PropTypes.node.isRequired,
requestData: PropTypes.shape({
url: PropTypes.string,
parameters: PropTypes.objectOf(PropTypes.string),
data: PropTypes.shape({
url: PropTypes.string,
parameters: PropTypes.objectOf(PropTypes.string),
}),
}),
};

View File

@@ -12,7 +12,7 @@ const action = {
};
const message = 'test-message';
const requestData = { url: 'test-request-data-url', parameters: { key1: 'val1' } };
const requestData = { data: { url: 'test-request-data-url', parameters: { key1: 'val1' } } };
const props = { action, message, requestData };
describe('CreditContent component', () => {

View File

@@ -10,7 +10,7 @@ export const CreditRequestForm = ({ requestData }) => {
if (requestData === null) {
return null;
}
const { parameters, url } = requestData;
const { parameters, url } = requestData.data;
return (
<Form
accept-method="UTF-8"
@@ -35,8 +35,10 @@ CreditRequestForm.defaultProps = {
};
CreditRequestForm.propTypes = {
requestData: PropTypes.shape({
parameters: PropTypes.objectOf(PropTypes.string),
url: PropTypes.string,
data: PropTypes.shape({
parameters: PropTypes.objectOf(PropTypes.string),
url: PropTypes.string,
}),
}),
};

View File

@@ -13,15 +13,17 @@ jest.mock('./hooks', () => ({
const ref = 'test-ref';
const requestData = {
url: 'test-request-data-url',
parameters: {
key1: 'val1',
key2: 'val2',
key3: 'val3',
data: {
url: 'test-request-data-url',
parameters: {
key1: 'val1',
key2: 'val2',
key3: 'val3',
},
},
};
const paramKeys = keyStore(requestData.parameters);
const paramKeys = keyStore(requestData.data.parameters);
useCreditRequestFormData.mockReturnValue({ ref });
@@ -49,16 +51,16 @@ describe('CreditRequestForm component', () => {
expect(el).toMatchSnapshot();
});
it('loads Form with requestData url', () => {
expect(el.find('Form').props().action).toEqual(requestData.url);
expect(el.find('Form').props().action).toEqual(requestData.data.url);
});
it('loads a textarea form control for each requestData parameter', () => {
const controls = el.find('FormControl');
expect(controls.at(0).props().name).toEqual(paramKeys.key1);
expect(controls.at(0).props().value).toEqual(requestData.parameters.key1);
expect(controls.at(0).props().value).toEqual(requestData.data.parameters.key1);
expect(controls.at(1).props().name).toEqual(paramKeys.key2);
expect(controls.at(1).props().value).toEqual(requestData.parameters.key2);
expect(controls.at(1).props().value).toEqual(requestData.data.parameters.key2);
expect(controls.at(2).props().name).toEqual(paramKeys.key3);
expect(controls.at(2).props().value).toEqual(requestData.parameters.key3);
expect(controls.at(2).props().value).toEqual(requestData.data.parameters.key3);
});
});
});

View File

@@ -14,11 +14,13 @@ jest.mock('./hooks', () => ({
const ref = { current: { click: jest.fn() }, useRef: jest.fn() };
const requestData = {
url: 'test-request-data-url',
parameters: {
key1: 'val1',
key2: 'val2',
key3: 'val3',
data: {
url: 'test-request-data-url',
parameters: {
key1: 'val1',
key2: 'val2',
key3: 'val3',
},
},
};

View File

@@ -26,10 +26,12 @@ exports[`CreditContent component render with action snapshot 1`] = `
<CreditRequestForm
requestData={
Object {
"parameters": Object {
"key1": "val1",
"data": Object {
"parameters": Object {
"key1": "val1",
},
"url": "test-request-data-url",
},
"url": "test-request-data-url",
}
}
/>
@@ -46,10 +48,12 @@ exports[`CreditContent component render without action snapshot 1`] = `
<CreditRequestForm
requestData={
Object {
"parameters": Object {
"key1": "val1",
"data": Object {
"parameters": Object {
"key1": "val1",
},
"url": "test-request-data-url",
},
"url": "test-request-data-url",
}
}
/>