From ab2554bbf7074cca70981d07d0676a2e26977061 Mon Sep 17 00:00:00 2001 From: julianajlk Date: Fri, 25 Feb 2022 10:31:29 -0500 Subject: [PATCH] test: Add test for past expiration messaging in gated content --- .../sequence/lock-paywall/LockPaywall.test.jsx | 14 ++++++++++++++ .../data/__factories__/courseMetadata.factory.js | 3 +++ 2 files changed, 17 insertions(+) diff --git a/src/courseware/course/sequence/lock-paywall/LockPaywall.test.jsx b/src/courseware/course/sequence/lock-paywall/LockPaywall.test.jsx index 5a83fa90..c011a8bf 100644 --- a/src/courseware/course/sequence/lock-paywall/LockPaywall.test.jsx +++ b/src/courseware/course/sequence/lock-paywall/LockPaywall.test.jsx @@ -80,4 +80,18 @@ describe('Lock Paywall', () => { expect(container).toBeEmptyDOMElement(); }); + + it('displays past expiration message if expiration date has expired', async () => { + const courseMetadata = Factory.build('courseMetadata', { + access_expiration: { + expiration_date: '1995-02-22T05:00:00Z', + }, + marketing_url: 'https://example.com/course-details', + }); + const testStore = await initializeTestStore({ courseMetadata }, false); + render(, { store: testStore }); + expect(screen.getByText('The upgrade deadline for this course passed. To upgrade, enroll in the next available session.')).toBeInTheDocument(); + expect(screen.getByText('View Course Details')) + .toHaveAttribute('href', 'https://example.com/course-details'); + }); }); diff --git a/src/courseware/data/__factories__/courseMetadata.factory.js b/src/courseware/data/__factories__/courseMetadata.factory.js index 90c71e46..272b942c 100644 --- a/src/courseware/data/__factories__/courseMetadata.factory.js +++ b/src/courseware/data/__factories__/courseMetadata.factory.js @@ -6,6 +6,9 @@ Factory.define('courseMetadata') .extend(courseMetadataBase) .option('host', '') .attrs({ + access_expiration: { + expiration_date: '2032-02-22T05:00:00Z', + }, content_type_gating_enabled: false, course_expired_message: null, course_goals: {