fix: add handler when url is null
This commit is contained in:
committed by
leangseu-edx
parent
3973d173cf
commit
254ccfccb6
@@ -12,10 +12,11 @@ const courseUnenroll = `${baseUrl}/change_enrollment`;
|
||||
const updateEmailSettings = `${api}/change_email_settings`;
|
||||
const entitlementEnrollment = (uuid) => `${api}/entitlements/v1/entitlements/${uuid}/enrollments`;
|
||||
|
||||
const isAbsoluteUrl = (url) => url.startsWith('http://') || url.startsWith('https://');
|
||||
// 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 baseAppUrl = (url) => (isAbsoluteUrl(url) ? url : baseUrl + url);
|
||||
export const learningMfeUrl = (url) => (isAbsoluteUrl(url) ? url : configuration.LEARNING_BASE_URL + url);
|
||||
export const baseAppUrl = (url) => updateUrl(baseUrl, url);
|
||||
export const learningMfeUrl = (url) => updateUrl(configuration.LEARNING_BASE_URL, url);
|
||||
|
||||
// static view url
|
||||
const programsUrl = baseAppUrl('/dashboard/programs');
|
||||
|
||||
35
src/data/services/lms/urls.test.js
Normal file
35
src/data/services/lms/urls.test.js
Normal file
@@ -0,0 +1,35 @@
|
||||
import { configuration } from 'config';
|
||||
import * as urls from './urls';
|
||||
|
||||
describe('urls', () => {
|
||||
describe('baseAppUrl', () => {
|
||||
it('returns the url if it is not relative', () => {
|
||||
const url = 'http://edx.org';
|
||||
expect(urls.baseAppUrl(url)).toEqual(url);
|
||||
});
|
||||
it('returns the url if it is relative', () => {
|
||||
const url = '/edx.org';
|
||||
expect(urls.baseAppUrl(url)).toEqual(
|
||||
`${configuration.LMS_BASE_URL}${url}`,
|
||||
);
|
||||
});
|
||||
it('return null if url is null', () => {
|
||||
expect(urls.baseAppUrl(null)).toEqual(null);
|
||||
});
|
||||
});
|
||||
describe('learningMfeUrl', () => {
|
||||
it('returns the url if it is not relative', () => {
|
||||
const url = 'http://edx.org';
|
||||
expect(urls.learningMfeUrl(url)).toEqual(url);
|
||||
});
|
||||
it('returns the url if it is relative', () => {
|
||||
const url = '/edx.org';
|
||||
expect(urls.learningMfeUrl(url)).toEqual(
|
||||
`${configuration.LEARNING_BASE_URL}${url}`,
|
||||
);
|
||||
});
|
||||
it('return null if url is null', () => {
|
||||
expect(urls.learningMfeUrl(null)).toEqual(null);
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user