@@ -193,6 +193,15 @@ describe('CoursewareContainer', () => {
193
193
expect ( courseHeader . querySelector ( '.course-title' ) ) . toHaveTextContent ( courseHomeMetadata . title ) ;
194
194
}
195
195
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
+
196
205
beforeEach ( async ( ) => {
197
206
// On page load, SequenceContext attempts to scroll to the top of the page.
198
207
global . scrollTo = jest . fn ( ) ;
@@ -213,6 +222,7 @@ describe('CoursewareContainer', () => {
213
222
const container = await loadContainer ( ) ;
214
223
215
224
assertLoadedHeader ( container ) ;
225
+ assertNoSequenceNavigation ( container ) ;
216
226
217
227
expect ( container . querySelector ( '.fake-unit' ) ) . toHaveTextContent ( 'Unit Contents' ) ;
218
228
expect ( container . querySelector ( '.fake-unit' ) ) . toHaveTextContent ( courseId ) ;
@@ -235,6 +245,7 @@ describe('CoursewareContainer', () => {
235
245
const container = await loadContainer ( ) ;
236
246
237
247
assertLoadedHeader ( container ) ;
248
+ assertNoSequenceNavigation ( container ) ;
238
249
239
250
expect ( container . querySelector ( '.fake-unit' ) ) . toHaveTextContent ( 'Unit Contents' ) ;
240
251
expect ( container . querySelector ( '.fake-unit' ) ) . toHaveTextContent ( courseId ) ;
@@ -266,6 +277,7 @@ describe('CoursewareContainer', () => {
266
277
setUrl ( sectionTree [ 1 ] . id ) ;
267
278
const container = await loadContainer ( ) ;
268
279
assertLoadedHeader ( container ) ;
280
+ assertNoSequenceNavigation ( container ) ;
269
281
assertLocation ( container , sequenceTree [ 1 ] [ 0 ] . id , unitTree [ 1 ] [ 0 ] [ 0 ] . id ) ;
270
282
} ) ;
271
283
} ) ;
@@ -320,6 +332,7 @@ describe('CoursewareContainer', () => {
320
332
const container = await loadContainer ( ) ;
321
333
322
334
assertLoadedHeader ( container ) ;
335
+ assertNoSequenceNavigation ( container ) ;
323
336
324
337
expect ( container . querySelector ( '.fake-unit' ) ) . toHaveTextContent ( 'Unit Contents' ) ;
325
338
expect ( container . querySelector ( '.fake-unit' ) ) . toHaveTextContent ( courseId ) ;
@@ -338,6 +351,7 @@ describe('CoursewareContainer', () => {
338
351
const container = await loadContainer ( ) ;
339
352
340
353
assertLoadedHeader ( container ) ;
354
+ assertNoSequenceNavigation ( container ) ;
341
355
342
356
expect ( container . querySelector ( '.fake-unit' ) ) . toHaveTextContent ( 'Unit Contents' ) ;
343
357
expect ( container . querySelector ( '.fake-unit' ) ) . toHaveTextContent ( courseId ) ;
@@ -354,11 +368,23 @@ describe('CoursewareContainer', () => {
354
368
const container = await loadContainer ( ) ;
355
369
356
370
assertLoadedHeader ( container ) ;
371
+ assertNoSequenceNavigation ( container ) ;
357
372
358
373
expect ( container . querySelector ( '.fake-unit' ) ) . toHaveTextContent ( 'Unit Contents' ) ;
359
374
expect ( container . querySelector ( '.fake-unit' ) ) . toHaveTextContent ( courseId ) ;
360
375
expect ( container . querySelector ( '.fake-unit' ) ) . toHaveTextContent ( unitBlocks [ 2 ] . id ) ;
361
376
} ) ;
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
+ } ) ;
362
388
} ) ;
363
389
} ) ;
364
390
0 commit comments