@@ -193,6 +193,15 @@ describe('CoursewareContainer', () => {
193193 expect ( courseHeader . querySelector ( '.course-title' ) ) . toHaveTextContent ( courseHomeMetadata . title ) ;
194194 }
195195
196+ function assertNoSequenceNavigation ( container ) {
197+ const sequenceNavButtons = container . querySelectorAll ( 'nav.sequence-navigation a, nav.sequence-navigation button' ) ;
198+ expect ( sequenceNavButtons ) . toHaveLength ( 0 ) ;
199+
200+ expect ( container . querySelector ( 'button, a' ) ) . not . toHaveTextContent ( 'Previous' ) ;
201+ expect ( container . querySelector ( 'svg.fa-tasks' ) ) . toBeNull ( ) ;
202+ expect ( container . querySelector ( 'button, a' ) ) . not . toHaveTextContent ( 'Next' ) ;
203+ }
204+
196205 beforeEach ( async ( ) => {
197206 // On page load, SequenceContext attempts to scroll to the top of the page.
198207 global . scrollTo = jest . fn ( ) ;
@@ -213,6 +222,7 @@ describe('CoursewareContainer', () => {
213222 const container = await loadContainer ( ) ;
214223
215224 assertLoadedHeader ( container ) ;
225+ assertNoSequenceNavigation ( container ) ;
216226
217227 expect ( container . querySelector ( '.fake-unit' ) ) . toHaveTextContent ( 'Unit Contents' ) ;
218228 expect ( container . querySelector ( '.fake-unit' ) ) . toHaveTextContent ( courseId ) ;
@@ -235,6 +245,7 @@ describe('CoursewareContainer', () => {
235245 const container = await loadContainer ( ) ;
236246
237247 assertLoadedHeader ( container ) ;
248+ assertNoSequenceNavigation ( container ) ;
238249
239250 expect ( container . querySelector ( '.fake-unit' ) ) . toHaveTextContent ( 'Unit Contents' ) ;
240251 expect ( container . querySelector ( '.fake-unit' ) ) . toHaveTextContent ( courseId ) ;
@@ -266,6 +277,7 @@ describe('CoursewareContainer', () => {
266277 setUrl ( sectionTree [ 1 ] . id ) ;
267278 const container = await loadContainer ( ) ;
268279 assertLoadedHeader ( container ) ;
280+ assertNoSequenceNavigation ( container ) ;
269281 assertLocation ( container , sequenceTree [ 1 ] [ 0 ] . id , unitTree [ 1 ] [ 0 ] [ 0 ] . id ) ;
270282 } ) ;
271283 } ) ;
@@ -320,6 +332,7 @@ describe('CoursewareContainer', () => {
320332 const container = await loadContainer ( ) ;
321333
322334 assertLoadedHeader ( container ) ;
335+ assertNoSequenceNavigation ( container ) ;
323336
324337 expect ( container . querySelector ( '.fake-unit' ) ) . toHaveTextContent ( 'Unit Contents' ) ;
325338 expect ( container . querySelector ( '.fake-unit' ) ) . toHaveTextContent ( courseId ) ;
@@ -338,6 +351,7 @@ describe('CoursewareContainer', () => {
338351 const container = await loadContainer ( ) ;
339352
340353 assertLoadedHeader ( container ) ;
354+ assertNoSequenceNavigation ( container ) ;
341355
342356 expect ( container . querySelector ( '.fake-unit' ) ) . toHaveTextContent ( 'Unit Contents' ) ;
343357 expect ( container . querySelector ( '.fake-unit' ) ) . toHaveTextContent ( courseId ) ;
@@ -354,11 +368,23 @@ describe('CoursewareContainer', () => {
354368 const container = await loadContainer ( ) ;
355369
356370 assertLoadedHeader ( container ) ;
371+ assertNoSequenceNavigation ( container ) ;
357372
358373 expect ( container . querySelector ( '.fake-unit' ) ) . toHaveTextContent ( 'Unit Contents' ) ;
359374 expect ( container . querySelector ( '.fake-unit' ) ) . toHaveTextContent ( courseId ) ;
360375 expect ( container . querySelector ( '.fake-unit' ) ) . toHaveTextContent ( unitBlocks [ 2 ] . id ) ;
361376 } ) ;
377+
378+ it ( 'should render the sequence_navigation plugin slot correctly' , async ( ) => {
379+ axiosMock
380+ . onPost ( `${ courseId } /xblock/${ sequenceBlock . id } /handler/get_completion` )
381+ . reply ( 200 , { complete : true } ) ;
382+
383+ history . push ( `/course/${ courseId } /${ sequenceBlock . id } /${ unitBlocks [ 0 ] . id } ` ) ;
384+ await loadContainer ( ) ;
385+
386+ expect ( screen . getByTestId ( 'org.openedx.frontend.learning.sequence_navigation.v1' ) ) . toBeInTheDocument ( ) ;
387+ } ) ;
362388 } ) ;
363389 } ) ;
364390
0 commit comments