1- import pattern from "./slides" ;
1+ import Pattern from "./slides" ;
22import $ from "jquery" ;
33import utils from "../../core/utils" ;
44import { jest } from "@jest/globals" ;
@@ -8,62 +8,79 @@ describe("pat-slides", function () {
88 jest . restoreAllMocks ( ) ;
99 } ) ;
1010
11- describe ( "_collapse_ids" , function ( ) {
11+ describe ( "1 - _collapse_ids" , function ( ) {
1212 it ( "Single id" , function ( ) {
13- expect ( pattern . _collapse_ids ( "foo" ) ) . toEqual ( [ "foo" ] ) ;
13+ const instance = new Pattern ( document . createElement ( "div" ) ) ;
14+ expect ( instance . _collapse_ids ( "foo" ) ) . toEqual ( [ "foo" ] ) ;
1415 } ) ;
1516
1617 it ( "Comma-separated list of ids" , function ( ) {
17- expect ( pattern . _collapse_ids ( "foo,bar" ) ) . toEqual ( [ "foo" , "bar" ] ) ;
18+ const instance = new Pattern ( document . createElement ( "div" ) ) ;
19+ expect ( instance . _collapse_ids ( "foo,bar" ) ) . toEqual ( [ "foo" , "bar" ] ) ;
1820 } ) ;
1921
2022 it ( "Skip empty ids" , function ( ) {
21- expect ( pattern . _collapse_ids ( "foo,,bar" ) ) . toEqual ( [ "foo" , "bar" ] ) ;
23+ const instance = new Pattern ( document . createElement ( "div" ) ) ;
24+ expect ( instance . _collapse_ids ( "foo,,bar" ) ) . toEqual ( [ "foo" , "bar" ] ) ;
2225 } ) ;
2326
2427 it ( "Parameter without value" , function ( ) {
25- expect ( pattern . _collapse_ids ( null ) ) . toEqual ( [ ] ) ;
28+ const instance = new Pattern ( document . createElement ( "div" ) ) ;
29+ expect ( instance . _collapse_ids ( null ) ) . toEqual ( [ ] ) ;
2630 } ) ;
2731
2832 it ( "Parameter with empty value" , function ( ) {
29- expect ( pattern . _collapse_ids ( "" ) ) . toEqual ( [ ] ) ;
33+ const instance = new Pattern ( document . createElement ( "div" ) ) ;
34+ expect ( instance . _collapse_ids ( "" ) ) . toEqual ( [ ] ) ;
3035 } ) ;
3136 } ) ;
3237
33- describe ( "_remove_slides" , function ( ) {
34- it ( "Remove slides from DOM" , function ( ) {
35- var $show = $ ( "<div/>" , { class : "pat-slides" } ) ;
36- for ( var i = 1 ; i <= 4 ; i ++ )
38+ describe ( "2 - _remove_slides" , function ( ) {
39+ it ( "Remove slides from DOM" , async function ( ) {
40+ const $show = $ ( "<div/>" , { class : "pat-slides" } ) ;
41+ for ( const i = 1 ; i <= 4 ; i ++ )
3742 $ ( "<div/>" , { class : "slide" , id : "slide" + i } ) . appendTo ( $show ) ;
38- pattern . _remove_slides ( $show , [ "slide1" , "slide3" ] ) ;
39- var ids = $ . makeArray (
43+
44+ const instance = new Pattern ( $show ) ;
45+ await utils . timeout ( 1 ) ; // wait a tick for async to settle.
46+
47+ instance . _remove_slides ( [ "slide1" , "slide3" ] ) ;
48+ const ids = $ . makeArray (
4049 $show . find ( ".slide" ) . map ( function ( idx , el ) {
4150 return el . id ;
4251 } )
4352 ) ;
4453 expect ( ids ) . toEqual ( [ "slide1" , "slide3" ] ) ;
4554 } ) ;
4655
47- it . skip ( "Trigger reset when removing slides" , function ( ) {
48- var $show = $ ( "<div/>" , { class : "pat-slides" } ) ;
49- for ( var i = 1 ; i <= 4 ; i ++ ) {
56+ it . skip ( "Trigger reset when removing slides" , async function ( ) {
57+ const $show = $ ( "<div/>" , { class : "pat-slides" } ) ;
58+ for ( const i = 1 ; i <= 4 ; i ++ ) {
5059 $ ( "<div/>" , { class : "slide" , id : "slide" + i } ) . appendTo ( $show ) ;
5160 }
5261 jest . spyOn ( utils , "debounce" ) . mockImplementation ( ( func ) => {
5362 return func ;
5463 } ) ;
55- var spy_reset = jest . spyOn ( pattern , "_reset" ) ;
56- pattern . _hook ( $show ) ;
57- pattern . _remove_slides ( $show , [ "slide1" , "slide3" ] ) ;
64+
65+ const instance = new Pattern ( $show ) ;
66+ await utils . timeout ( 1 ) ; // wait a tick for async to settle.
67+
68+ const spy_reset = jest . spyOn ( instance , "_reset" ) ;
69+ instance . _hook ( ) ;
70+ instance . _remove_slides ( [ "slide1" , "slide3" ] ) ;
5871 expect ( spy_reset ) . toHaveBeenCalled ( ) ;
5972 } ) ;
6073
61- it ( "Do not trigger reset when not doing anything" , function ( ) {
62- var $show = $ ( "<div/>" , { class : "pat-slides" } ) ;
63- for ( var i = 1 ; i <= 2 ; i ++ )
74+ it ( "Do not trigger reset when not doing anything" , async function ( ) {
75+ const $show = $ ( "<div/>" , { class : "pat-slides" } ) ;
76+ for ( const i = 1 ; i <= 2 ; i ++ )
6477 $ ( "<div/>" , { class : "slide" , id : "slide" + i } ) . appendTo ( $show ) ;
65- var spy_reset = jest . spyOn ( pattern , "_reset" ) ;
66- pattern . _remove_slides ( $show , [ "slide1" , "slide2" ] ) ;
78+
79+ const instance = new Pattern ( $show ) ;
80+ await utils . timeout ( 1 ) ; // wait a tick for async to settle.
81+
82+ const spy_reset = jest . spyOn ( instance , "_reset" ) ;
83+ instance . _remove_slides ( [ "slide1" , "slide2" ] ) ;
6784 expect ( spy_reset ) . not . toHaveBeenCalled ( ) ;
6885 } ) ;
6986 } ) ;
0 commit comments