11import {
22 render ,
3- waitFor ,
43 screen ,
54 initializeMocks ,
65} from '@src/testUtils' ;
76import '@testing-library/jest-dom' ;
87import { getConfig , setConfig } from '@edx/frontend-platform' ;
98import { CourseAuthoringProvider } from '@src/CourseAuthoringContext' ;
10- import { RequestStatus } from '../data/constants' ;
11- import { executeThunk } from '../utils' ;
129import { getCourseLaunchApiUrl , getCourseBestPracticesApiUrl } from './data/api' ;
13- import { fetchCourseLaunchQuery , fetchCourseBestPracticesQuery } from './data/thunks' ;
1410import {
1511 courseId ,
1612 generateCourseLaunchData ,
@@ -20,7 +16,6 @@ import messages from './messages';
2016import CourseChecklist from './index' ;
2117
2218let axiosMock ;
23- let store ;
2419
2520const renderComponent = ( ) => {
2621 render (
@@ -33,62 +28,46 @@ const renderComponent = () => {
3328const mockStore = async ( status ) => {
3429 axiosMock . onGet ( getCourseLaunchApiUrl ( courseId ) ) . reply ( status , generateCourseLaunchData ( ) ) ;
3530 axiosMock . onGet ( getCourseBestPracticesApiUrl ( courseId ) ) . reply ( status , generateCourseBestPracticesData ( ) ) ;
36-
37- await executeThunk ( fetchCourseLaunchQuery ( courseId ) , store . dispatch ) ;
38- await executeThunk ( fetchCourseBestPracticesQuery ( courseId ) , store . dispatch ) ;
3931} ;
4032
4133describe ( 'CourseChecklistPage' , ( ) => {
4234 beforeEach ( async ( ) => {
4335 const mocks = initializeMocks ( ) ;
44- store = mocks . reduxStore ;
4536 axiosMock = mocks . axiosMock ;
4637 } ) ;
4738 describe ( 'renders' , ( ) => {
4839 describe ( 'if enable_quality prop is true' , ( ) => {
4940 it ( 'two checklist components ' , async ( ) => {
50- renderComponent ( ) ;
5141 await mockStore ( 200 ) ;
42+ renderComponent ( ) ;
5243
5344 expect ( screen . getByText ( messages . launchChecklistLabel . defaultMessage ) ) . toBeVisible ( ) ;
5445
5546 expect ( screen . getByText ( messages . bestPracticesChecklistLabel . defaultMessage ) ) . toBeVisible ( ) ;
5647 } ) ;
5748
5849 describe ( 'an aria-live region with' , ( ) => {
59- it ( 'an aria-live region' , ( ) => {
50+ it ( 'an aria-live region' , async ( ) => {
6051 renderComponent ( ) ;
61- const ariaLiveRegion = screen . getByRole ( 'status' ) ;
52+ const ariaLiveRegion = await screen . findByRole ( 'status' ) ;
6253
6354 expect ( ariaLiveRegion ) . toBeDefined ( ) ;
6455
6556 expect ( ariaLiveRegion . classList . contains ( 'sr-only' ) ) . toBe ( true ) ;
6657 } ) ;
6758
6859 it ( 'correct content when the launch checklist has loaded' , async ( ) => {
69- renderComponent ( ) ;
7060 await mockStore ( 404 ) ;
71- await waitFor ( ( ) => {
72- const { launchChecklistStatus } = store . getState ( ) . courseChecklist . loadingStatus ;
73-
74- expect ( launchChecklistStatus ) . not . toEqual ( RequestStatus . SUCCESSFUL ) ;
75-
76- expect ( screen . getByText ( messages . launchChecklistDoneLoadingLabel . defaultMessage ) ) . toBeInTheDocument ( ) ;
77- } ) ;
61+ renderComponent ( ) ;
62+ expect ( await screen . findByText ( messages . launchChecklistDoneLoadingLabel . defaultMessage ) ) . toBeInTheDocument ( ) ;
7863 } ) ;
7964
8065 it ( 'correct content when the best practices checklist is loading' , async ( ) => {
81- renderComponent ( ) ;
8266 await mockStore ( 404 ) ;
83- await waitFor ( ( ) => {
84- const { bestPracticeChecklistStatus } = store . getState ( ) . courseChecklist . loadingStatus ;
85-
86- expect ( bestPracticeChecklistStatus ) . not . toEqual ( RequestStatus . IN_PROGRESS ) ;
87-
88- expect (
89- screen . getByText ( messages . bestPracticesChecklistDoneLoadingLabel . defaultMessage ) ,
90- ) . toBeInTheDocument ( ) ;
91- } ) ;
67+ renderComponent ( ) ;
68+ expect (
69+ await screen . findByText ( messages . bestPracticesChecklistDoneLoadingLabel . defaultMessage ) ,
70+ ) . toBeInTheDocument ( ) ;
9271 } ) ;
9372 } ) ;
9473 } ) ;
@@ -111,27 +90,15 @@ describe('CourseChecklistPage', () => {
11190
11291 describe ( 'an aria-live region with' , ( ) => {
11392 it ( 'correct content when the launch checklist has loaded' , async ( ) => {
114- renderComponent ( ) ;
11593 await mockStore ( 404 ) ;
116- await waitFor ( ( ) => {
117- const { launchChecklistStatus } = store . getState ( ) . courseChecklist . loadingStatus ;
118-
119- expect ( launchChecklistStatus ) . not . toEqual ( RequestStatus . SUCCESSFUL ) ;
120-
121- expect ( screen . getByText ( messages . launchChecklistDoneLoadingLabel . defaultMessage ) ) . toBeInTheDocument ( ) ;
122- } ) ;
94+ renderComponent ( ) ;
95+ expect ( await screen . findByText ( messages . launchChecklistDoneLoadingLabel . defaultMessage ) ) . toBeInTheDocument ( ) ;
12396 } ) ;
12497
12598 it ( 'correct content when the best practices checklist is loading' , async ( ) => {
126- renderComponent ( ) ;
12799 await mockStore ( 404 ) ;
128- await waitFor ( ( ) => {
129- const { bestPracticeChecklistStatus } = store . getState ( ) . courseChecklist . loadingStatus ;
130-
131- expect ( bestPracticeChecklistStatus ) . not . toEqual ( RequestStatus . IN_PROGRESS ) ;
132-
133- expect ( screen . queryByText ( messages . bestPracticesChecklistDoneLoadingLabel . defaultMessage ) ) . toBeNull ( ) ;
134- } ) ;
100+ renderComponent ( ) ;
101+ expect ( screen . queryByText ( messages . bestPracticesChecklistDoneLoadingLabel . defaultMessage ) ) . toBeNull ( ) ;
135102 } ) ;
136103 } ) ;
137104 } ) ;
@@ -144,11 +111,7 @@ describe('CourseChecklistPage', () => {
144111
145112 renderComponent ( ) ;
146113
147- await waitFor ( ( ) => {
148- const { launchChecklistStatus } = store . getState ( ) . courseChecklist . loadingStatus ;
149- expect ( launchChecklistStatus ) . toEqual ( RequestStatus . DENIED ) ;
150- expect ( screen . getByRole ( 'alert' ) ) . toBeInTheDocument ( ) ;
151- } ) ;
114+ expect ( await screen . findByRole ( 'alert' ) ) . toBeInTheDocument ( ) ;
152115 } ) ;
153116 } ) ;
154117} ) ;
0 commit comments