fix: [AA-1207] Remove redundant API fields (#873)
Remove redundant fields from courseware API. These are all found in courseHome: - number - org - originalUserIsStaff - isStaff - verifiedMode - isMasquerading (virtual field from isStaff and originalUserIsStaff)
This commit is contained in:
@@ -32,14 +32,6 @@ Factory.define('courseMetadata')
|
||||
mode: null,
|
||||
is_active: null,
|
||||
},
|
||||
verified_mode: {
|
||||
access_expiration_date: null,
|
||||
currency: 'USD',
|
||||
upgrade_url: 'http://localhost:18130/basket/add/?sku=8CF08E5',
|
||||
sku: '8CF08E5',
|
||||
price: 149,
|
||||
currency_symbol: '$',
|
||||
},
|
||||
show_calculator: false,
|
||||
license: 'all-rights-reserved',
|
||||
notes: {
|
||||
|
||||
@@ -95,9 +95,7 @@ function normalizeMetadata(metadata) {
|
||||
courseGoals: camelCaseObject(data.course_goals),
|
||||
id: data.id,
|
||||
title: data.name,
|
||||
number: data.number,
|
||||
offer: camelCaseObject(data.offer),
|
||||
org: data.org,
|
||||
enrollmentStart: data.enrollment_start,
|
||||
enrollmentEnd: data.enrollment_end,
|
||||
end: data.end,
|
||||
@@ -105,10 +103,7 @@ function normalizeMetadata(metadata) {
|
||||
enrollmentMode: data.enrollment.mode,
|
||||
isEnrolled: data.enrollment.is_active,
|
||||
canViewLegacyCourseware: data.can_view_legacy_courseware,
|
||||
originalUserIsStaff: data.original_user_is_staff,
|
||||
isStaff: data.is_staff,
|
||||
license: data.license,
|
||||
verifiedMode: camelCaseObject(data.verified_mode),
|
||||
userTimezone: data.user_timezone,
|
||||
showCalculator: data.show_calculator,
|
||||
notes: camelCaseObject(data.notes),
|
||||
@@ -125,7 +120,6 @@ function normalizeMetadata(metadata) {
|
||||
relatedPrograms: camelCaseObject(data.related_programs),
|
||||
isIntegritySignatureEnabled: data.is_integrity_signature_enabled,
|
||||
userNeedsIntegritySignature: data.user_needs_integrity_signature,
|
||||
isMasquerading: data.original_user_is_staff && !data.is_staff,
|
||||
canAccessProctoredExams: data.can_access_proctored_exams,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -224,7 +224,6 @@ describe('Courseware Service', () => {
|
||||
}),
|
||||
license: string('all-rights-reserved'),
|
||||
name: like('Demonstration Course'),
|
||||
number: like('DemoX'),
|
||||
offer: {
|
||||
code: string('code'),
|
||||
expiration_date: term({
|
||||
@@ -236,7 +235,6 @@ describe('Courseware Service', () => {
|
||||
percentage: integer(50),
|
||||
upgrade_url: string('url'),
|
||||
},
|
||||
org: like('edX'),
|
||||
related_programs: null,
|
||||
short_description: like(''),
|
||||
start: term({
|
||||
@@ -269,11 +267,6 @@ describe('Courseware Service', () => {
|
||||
}),
|
||||
notes: { enabled: boolean(false), visible: boolean(true) },
|
||||
marketing_url: null,
|
||||
celebrations: {
|
||||
first_section: boolean(false),
|
||||
streak_length_to_celebrate: null,
|
||||
streak_discount_enabled: boolean(false),
|
||||
},
|
||||
user_has_passing_grade: boolean(false),
|
||||
course_exit_page_is_active: boolean(false),
|
||||
certificate_data: {
|
||||
@@ -298,7 +291,6 @@ describe('Courseware Service', () => {
|
||||
contentTypeGatingEnabled: false,
|
||||
id: 'course-v1:edX+DemoX+Demo_Course',
|
||||
title: 'Demonstration Course',
|
||||
number: 'DemoX',
|
||||
offer: {
|
||||
code: 'code',
|
||||
discountedPrice: '$99',
|
||||
@@ -307,7 +299,6 @@ describe('Courseware Service', () => {
|
||||
percentage: 50,
|
||||
upgradeUrl: 'url',
|
||||
},
|
||||
org: 'edX',
|
||||
enrollmentStart: '2013-02-05T05:00:00Z',
|
||||
enrollmentEnd: '2013-02-05T05:00:00Z',
|
||||
end: '2013-02-05T05:00:00Z',
|
||||
@@ -315,26 +306,11 @@ describe('Courseware Service', () => {
|
||||
enrollmentMode: 'audit',
|
||||
isEnrolled: true,
|
||||
canViewLegacyCourseware: true,
|
||||
originalUserIsStaff: true,
|
||||
isStaff: true,
|
||||
license: 'all-rights-reserved',
|
||||
verifiedMode: {
|
||||
accessExpirationDate: '2013-02-05T05:00:00Z',
|
||||
currency: 'USD',
|
||||
currencySymbol: '$',
|
||||
price: 149,
|
||||
sku: '8CF08E5',
|
||||
upgradeUrl: `${getConfig().ECOMMERCE_BASE_URL}/basket/add/?sku=8CF08E5`,
|
||||
},
|
||||
userTimezone: null,
|
||||
showCalculator: false,
|
||||
notes: { enabled: false, visible: true },
|
||||
marketingUrl: null,
|
||||
celebrations: {
|
||||
firstSection: false,
|
||||
streakLengthToCelebrate: null,
|
||||
streakDiscountEnabled: false,
|
||||
},
|
||||
userHasPassingGrade: false,
|
||||
courseExitPageIsActive: false,
|
||||
certificateData: {
|
||||
@@ -349,7 +325,6 @@ describe('Courseware Service', () => {
|
||||
linkedinAddToProfileUrl: null,
|
||||
relatedPrograms: null,
|
||||
userNeedsIntegritySignature: false,
|
||||
isMasquerading: false,
|
||||
};
|
||||
const response = await getCourseMetadata(courseId);
|
||||
expect(response).toBeTruthy();
|
||||
|
||||
@@ -112,7 +112,7 @@ describe('Data layer integration tests', () => {
|
||||
expect(state.courseware.sequenceId).toEqual(null);
|
||||
|
||||
// check that at least one key camel cased, thus course data normalized
|
||||
expect(state.models.coursewareMeta[courseId].verifiedMode).not.toBeUndefined();
|
||||
expect(state.models.coursewareMeta[courseId].marketingUrl).not.toBeUndefined();
|
||||
});
|
||||
|
||||
it('Should fetch, normalize, and save metadata; filtering has no effect', async () => {
|
||||
@@ -132,7 +132,7 @@ describe('Data layer integration tests', () => {
|
||||
expect(state.courseware.sequenceId).toEqual(null);
|
||||
|
||||
// check that at least one key camel cased, thus course data normalized
|
||||
expect(state.models.coursewareMeta[courseId].verifiedMode).not.toBeUndefined();
|
||||
expect(state.models.coursewareMeta[courseId].marketingUrl).not.toBeUndefined();
|
||||
expect(state.models.sequences.length === 1);
|
||||
|
||||
Object.values(state.models.sections).forEach(section => expect(section.sequenceIds.length === 1));
|
||||
@@ -159,7 +159,7 @@ describe('Data layer integration tests', () => {
|
||||
expect(state.courseware.sequenceId).toEqual(null);
|
||||
|
||||
// check that at least one key camel cased, thus course data normalized
|
||||
expect(state.models.coursewareMeta[courseId].verifiedMode).not.toBeUndefined();
|
||||
expect(state.models.coursewareMeta[courseId].marketingUrl).not.toBeUndefined();
|
||||
expect(state.models.sequences === null);
|
||||
|
||||
Object.values(state.models.sections).forEach(section => expect(section.sequenceIds.length === 0));
|
||||
|
||||
Reference in New Issue
Block a user