fix: force LMS url to reload when changed (#136)
This commit is contained in:
committed by
GitHub
parent
5db95b0029
commit
f92bd9c8f9
@@ -17,7 +17,7 @@ import * as module from './api';
|
||||
* GET Actions
|
||||
*********************************************************************************/
|
||||
export const initializeList = ({ user } = {}) => get(
|
||||
stringifyUrl(urls.init, { [apiKeys.user]: user }),
|
||||
stringifyUrl(urls.getInitApiUrl(), { [apiKeys.user]: user }),
|
||||
);
|
||||
|
||||
export const updateEntitlementEnrollment = ({ uuid, courseId }) => post(
|
||||
|
||||
@@ -43,7 +43,7 @@ describe('lms api methods', () => {
|
||||
[apiKeys.user]: testUser,
|
||||
};
|
||||
expect(api.initializeList(userArg)).toEqual(
|
||||
utils.get(utils.stringifyUrl(urls.init, userArg)),
|
||||
utils.get(utils.stringifyUrl(urls.getInitApiUrl(), userArg)),
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,40 +1,41 @@
|
||||
import { StrictDict } from 'utils';
|
||||
import { configuration } from 'config';
|
||||
|
||||
const baseUrl = `${configuration.LMS_BASE_URL}`;
|
||||
export const ecommerceUrl = `${configuration.ECOMMERCE_BASE_URL}`;
|
||||
import { getConfig } from '@edx/frontend-platform';
|
||||
|
||||
export const api = `${baseUrl}/api`;
|
||||
export const getEcommerceUrl = () => getConfig().ECOMMERCE_BASE_URL;
|
||||
|
||||
// const init = `${api}learner_home/mock/init`; // mock endpoint for testing
|
||||
const init = `${api}/learner_home/init`;
|
||||
const getBaseUrl = () => getConfig().LMS_BASE_URL;
|
||||
|
||||
const event = `${baseUrl}/event`;
|
||||
const courseUnenroll = `${baseUrl}/change_enrollment`;
|
||||
const updateEmailSettings = `${api}/change_email_settings`;
|
||||
const entitlementEnrollment = (uuid) => `${api}/entitlements/v1/entitlements/${uuid}/enrollments`;
|
||||
export const getApiUrl = () => (`${getConfig().LMS_BASE_URL}/api`);
|
||||
|
||||
const getInitApiUrl = () => (`${getApiUrl()}/learner_home/init`);
|
||||
|
||||
const event = `${getBaseUrl()}/event`;
|
||||
const courseUnenroll = `${getBaseUrl()}/change_enrollment`;
|
||||
const updateEmailSettings = `${getApiUrl()}/change_email_settings`;
|
||||
const entitlementEnrollment = (uuid) => `${getApiUrl()}/entitlements/v1/entitlements/${uuid}/enrollments`;
|
||||
|
||||
// if url is null or absolute, return it as is
|
||||
const updateUrl = (base, url) => ((url == null || url.startsWith('http://') || url.startsWith('https://')) ? url : `${base}${url}`);
|
||||
export const updateUrl = (base, url) => ((url == null || url.startsWith('http://') || url.startsWith('https://')) ? url : `${base}${url}`);
|
||||
|
||||
export const baseAppUrl = (url) => updateUrl(baseUrl, url);
|
||||
export const learningMfeUrl = (url) => updateUrl(configuration.LEARNING_BASE_URL, url);
|
||||
export const baseAppUrl = (url) => updateUrl(getBaseUrl(), url);
|
||||
export const learningMfeUrl = (url) => updateUrl(getConfig().LEARNING_BASE_URL, url);
|
||||
|
||||
// static view url
|
||||
const programsUrl = baseAppUrl('/dashboard/programs');
|
||||
|
||||
export const creditPurchaseUrl = (courseId) => `${ecommerceUrl}/credit/checkout/${courseId}/`;
|
||||
export const creditRequestUrl = (providerId) => `${api}/credit/v1/providers/${providerId}/request/`;
|
||||
export const creditPurchaseUrl = (courseId) => `${getEcommerceUrl()}/credit/checkout/${courseId}/`;
|
||||
export const creditRequestUrl = (providerId) => `${getApiUrl()}/credit/v1/providers/${providerId}/request/`;
|
||||
|
||||
export default StrictDict({
|
||||
api,
|
||||
getApiUrl,
|
||||
baseAppUrl,
|
||||
courseUnenroll,
|
||||
creditPurchaseUrl,
|
||||
creditRequestUrl,
|
||||
entitlementEnrollment,
|
||||
event,
|
||||
init,
|
||||
getInitApiUrl,
|
||||
learningMfeUrl,
|
||||
programsUrl,
|
||||
updateEmailSettings,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { configuration } from 'config';
|
||||
import { getConfig } from '@edx/frontend-platform';
|
||||
import * as urls from './urls';
|
||||
|
||||
describe('urls', () => {
|
||||
@@ -10,7 +10,7 @@ describe('urls', () => {
|
||||
it('returns the url if it is relative', () => {
|
||||
const url = '/edx.org';
|
||||
expect(urls.baseAppUrl(url)).toEqual(
|
||||
`${configuration.LMS_BASE_URL}${url}`,
|
||||
`${getConfig().LMS_BASE_URL}${url}`,
|
||||
);
|
||||
});
|
||||
it('return null if url is null', () => {
|
||||
@@ -25,7 +25,7 @@ describe('urls', () => {
|
||||
it('returns the url if it is relative', () => {
|
||||
const url = '/edx.org';
|
||||
expect(urls.learningMfeUrl(url)).toEqual(
|
||||
`${configuration.LEARNING_BASE_URL}${url}`,
|
||||
`${getConfig().LEARNING_BASE_URL}${url}`,
|
||||
);
|
||||
});
|
||||
it('return null if url is null', () => {
|
||||
@@ -36,7 +36,6 @@ describe('urls', () => {
|
||||
it('builds from ecommerce url and loads courseId', () => {
|
||||
const courseId = 'test-course-id';
|
||||
const url = urls.creditPurchaseUrl(courseId);
|
||||
expect(url.startsWith(urls.ecommerceUrl)).toEqual(true);
|
||||
expect(url).toEqual(expect.stringContaining(courseId));
|
||||
});
|
||||
});
|
||||
@@ -44,7 +43,7 @@ describe('urls', () => {
|
||||
it('builds from api url and loads providerId', () => {
|
||||
const providerId = 'test-provider-id';
|
||||
const url = urls.creditRequestUrl(providerId);
|
||||
expect(url.startsWith(urls.api)).toEqual(true);
|
||||
expect(url.startsWith(urls.getApiUrl())).toEqual(true);
|
||||
expect(url).toEqual(expect.stringContaining(providerId));
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user