/ tests / models / Timetable.test.ts
Timetable.test.ts
   1  import type { FonctionParametresModel } from "~/api/endpoints/FonctionParametres/response";
   2  import { describe, expect, it } from "bun:test";
   3  import { deserialize } from "desero";
   4  import { Cours, type PageEmploiDuTempsModel } from "~/api/endpoints/PageEmploiDuTemps/response";
   5  import { Parameters } from "~/models/Globals/Parameters";
   6  import { Timetable } from "~/models/Tabs/StudentAdministration/Timetable/Timetable";
   7  
   8  const data = {
   9    avecCoursAnnule: true,
  10  
  11    ListeCours: [
  12      {
  13        AvecTafPublie: false,
  14        CouleurFond: "#E73A1F",
  15        DateDuCours: {
  16          _T: 7,
  17          V: "10/09/2024 10:00:00"
  18        },
  19        duree: 2,
  20        G: 0,
  21        ListeContenus: {
  22          _T: 24,
  23          V: [
  24            {
  25              G: 16,
  26              L: "ANGLAIS",
  27              N: "83#Liy41wAVytsTZJfrDh15BEvrBy_PvcT3d0cVIo_fnFY"
  28            },
  29            {
  30              G: 3,
  31              L: "BRYISH A."
  32            },
  33            {
  34              G: 2,
  35              L: "[2AGL10]",
  36              N: "64#5Fp4hMGKFK-nWxofAjAPoY5yxKMjhOdUKRVMo0wQd_k"
  37            },
  38            {
  39              G: 17,
  40              L: "A 103 - W",
  41              N: "139#HSpAblWp7aN-qsyGkCpe3k8F3NfueG7tIwhJ3EfJ0eM"
  42            }
  43          ]
  44        },
  45        N: "31#i144awgA9j4flun1HngKjs9NvofKVzI4khNYoQ4RxqM",
  46        P: 901,
  47        place: 22
  48      },
  49      {
  50        AvecTafPublie: false,
  51        CouleurFond: "#11B1D2",
  52        DateDuCours: {
  53          _T: 7,
  54          V: "10/09/2024 16:00:00"
  55        },
  56        duree: 2,
  57        G: 0,
  58        ListeContenus: {
  59          _T: 24,
  60          V: [
  61            {
  62              G: 16,
  63              L: "ACCOMPAGNEMT. PP",
  64              N: "83#aeW2PEEyEQeFy4Ygxv6NI1xOxWa1jNvJRIK5JRVNUrI"
  65            },
  66            {
  67              G: 3,
  68              L: "VIVEZ M."
  69            },
  70            {
  71              G: 17,
  72              L: "M 05",
  73              N: "139#6haBmbgjZ8505YIa-B3NIOpbyz4S_K0YYUdg2JHeZd8"
  74            }
  75          ]
  76        },
  77        N: "31#iDvOY9z0hDerfSYl9N5z06-HNjnOB9uOmyAN50eih2o",
  78        P: 390,
  79        place: 34
  80      },
  81      {
  82        AvecTafPublie: false,
  83        CouleurFond: "#ED679B",
  84        DateDuCours: {
  85          _T: 7,
  86          V: "10/09/2024 14:00:00"
  87        },
  88        duree: 4,
  89        G: 0,
  90        ListeContenus: {
  91          _T: 24,
  92          V: [
  93            {
  94              G: 16,
  95              L: "HISTOIRE-GEOGRAPHIE",
  96              N: "83#KRTlaeFcNpVyc8U8HK4HjvWQ141cbih4B67Uw4iY7xQ"
  97            },
  98            {
  99              G: 3,
 100              L: "HISM A."
 101            },
 102            {
 103              G: 17,
 104              L: "B 114 - W",
 105              N: "139#CAJRc3ZfhZuL9_DzKf1T8mjVVxs428AyCnw-0wY9SOg"
 106            }
 107          ]
 108        },
 109        N: "31#n2CtUFixZ3zFURvO2zL2RERSxp8il3POfZF870bcPfk",
 110        P: 327,
 111        place: 30
 112      },
 113      {
 114        AvecTafPublie: false,
 115        CouleurFond: "#ED679B",
 116        DateDuCours: {
 117          _T: 7,
 118          V: "11/09/2024 10:00:00"
 119        },
 120        duree: 2,
 121        G: 0,
 122        ListeContenus: {
 123          _T: 24,
 124          V: [
 125            {
 126              G: 16,
 127              L: "HISTOIRE-GEOGRAPHIE",
 128              N: "83#KRTlaeFcNpVyc8U8HK4HjvWQ141cbih4B67Uw4iY7xQ"
 129            },
 130            {
 131              G: 3,
 132              L: "HISM A."
 133            },
 134            {
 135              G: 17,
 136              L: "B 114 - W",
 137              N: "139#CAJRc3ZfhZuL9_DzKf1T8mjVVxs428AyCnw-0wY9SOg"
 138            }
 139          ]
 140        },
 141        N: "31#EyFlAo1nbM90TvI0kxiuvk820vMzjBJo7EagLgUwHM4",
 142        P: 326,
 143        place: 42
 144      },
 145      {
 146        AvecTafPublie: false,
 147        CouleurFond: "#6EBC81",
 148        DateDuCours: {
 149          _T: 7,
 150          V: "13/09/2024 14:00:00"
 151        },
 152        duree: 2,
 153        G: 0,
 154        ListeContenus: {
 155          _T: 24,
 156          V: [
 157            {
 158              G: 16,
 159              L: "ITALIEN",
 160              N: "83#mQHfqfuWecV3ZL796CHXs3cofVvscqfmXM7JgR7dgmM"
 161            },
 162            {
 163              G: 3,
 164              L: "MARIO L."
 165            },
 166            {
 167              G: 2,
 168              L: "[2ITA2]",
 169              N: "64#Ly2Hj2g9PIKc6gBLFrWpVpZlxfz9LVBELnKmRkWe2cY"
 170            },
 171            {
 172              G: 17,
 173              L: "A 116",
 174              N: "139#w6ooeKypQqSe7p_hCFLl-lWiYm144w68FntwzZconKA"
 175            }
 176          ]
 177        },
 178        N: "31#OvN-hndA-yOwpPEFXCkv0ApjdUV0vUcKjf0rmUPrmDU",
 179        P: 646,
 180        place: 90
 181      },
 182      {
 183        AvecTafPublie: false,
 184        CouleurFond: "#E73A1F",
 185        DateDuCours: {
 186          _T: 7,
 187          V: "13/09/2024 15:00:00"
 188        },
 189        duree: 2,
 190        G: 0,
 191        ListeContenus: {
 192          _T: 24,
 193          V: [
 194            {
 195              G: 16,
 196              L: "ANGLAIS",
 197              N: "83#Liy41wAVytsTZJfrDh15BEvrBy_PvcT3d0cVIo_fnFY"
 198            },
 199            {
 200              G: 3,
 201              L: "BRYISH A."
 202            },
 203            {
 204              G: 2,
 205              L: "[2AGL10]",
 206              N: "64#5Fp4hMGKFK-nWxofAjAPoY5yxKMjhOdUKRVMo0wQd_k"
 207            },
 208            {
 209              G: 17,
 210              L: "A 103 - W",
 211              N: "139#HSpAblWp7aN-qsyGkCpe3k8F3NfueG7tIwhJ3EfJ0eM"
 212            }
 213          ]
 214        },
 215        N: "31#tDuXQrhZHPPJSFNShQuPHwRWSjUF-Cny9FKp8kO96Ic",
 216        P: 906,
 217        place: 92
 218      },
 219      {
 220        AvecTafPublie: false,
 221        CouleurFond: "#C0C0C0",
 222        DateDuCours: {
 223          _T: 7,
 224          V: "09/09/2024 15:00:00"
 225        },
 226        duree: 2,
 227        G: 0,
 228        ListeContenus: {
 229          _T: 24,
 230          V: [
 231            {
 232              G: 16,
 233              L: "CREAT.INNOV.TECHNO.",
 234              N: "83#IkSIq537V7wHAGrQvM3xk8DyJvKuOW1AT8STh-EwRyU"
 235            },
 236            {
 237              G: 3,
 238              L: "PAUL M."
 239            },
 240            {
 241              G: 2,
 242              L: "[2CITEC2]",
 243              N: "64#uVtu4jlHo8DkCWIaYwiVDFAAKqzi2XPSWhInJOYFXdg"
 244            },
 245            {
 246              G: 17,
 247              L: "B 219 - W",
 248              N: "139#BLXhIlGowNNXOCRD78sPLGC1XScXiGwiHAZTKP6vpMc"
 249            }
 250          ]
 251        },
 252        N: "31#mVG40ZKww0PdaugNzBxEBT-4V9UQ7Lo8IfFu_4wQD98",
 253        P: 1290,
 254        place: 12
 255      },
 256      {
 257        AvecTafPublie: false,
 258        CouleurFond: "#E73A1F",
 259        DateDuCours: {
 260          _T: 7,
 261          V: "13/09/2024 09:00:00"
 262        },
 263        duree: 4,
 264        G: 0,
 265        ListeContenus: {
 266          _T: 24,
 267          V: [
 268            {
 269              G: 16,
 270              L: "ED.PHYSIQUE & SPORT.",
 271              N: "83#NfYblNlIX5718W99ctmzV97kpOwy2-x87UAfIy6fHXk"
 272            },
 273            {
 274              G: 3,
 275              L: "PEDROSO S."
 276            },
 277            {
 278              G: 17,
 279              L: "EPS 2GT",
 280              N: "139#MheIZAjWfWECSazfuRvJ1r2RiQybkXbGbUDOZOJhsR4"
 281            }
 282          ]
 283        },
 284        N: "31#Pc155MtBl1NeXrQFOsA50GtQDkV0AxvmjqGOPiMp2Vk",
 285        P: 398,
 286        place: 80
 287      },
 288      {
 289        AvecTafPublie: false,
 290        CouleurFond: "#E73A1F",
 291        DateDuCours: {
 292          _T: 7,
 293          V: "11/09/2024 09:00:00"
 294        },
 295        duree: 2,
 296        G: 0,
 297        ListeContenus: {
 298          _T: 24,
 299          V: [
 300            {
 301              G: 16,
 302              L: "ANGLAIS",
 303              N: "83#Liy41wAVytsTZJfrDh15BEvrBy_PvcT3d0cVIo_fnFY"
 304            },
 305            {
 306              G: 3,
 307              L: "BRYISH A."
 308            },
 309            {
 310              G: 2,
 311              L: "[2AGL10]",
 312              N: "64#5Fp4hMGKFK-nWxofAjAPoY5yxKMjhOdUKRVMo0wQd_k"
 313            },
 314            {
 315              G: 17,
 316              L: "A 211 - W",
 317              N: "139#tN1tht8-PxgLXqixd3f9JtgXyCh1arl17rT35oRfnX0"
 318            }
 319          ]
 320        },
 321        N: "31#PbBZtEPDGN6kvsPKwurmSjMlgM_7HI3yBvqYzDDc_yc",
 322        P: 911,
 323        place: 40
 324      },
 325      {
 326        AvecTafPublie: false,
 327        CouleurFond: "#6EBC81",
 328        DateDuCours: {
 329          _T: 7,
 330          V: "12/09/2024 15:00:00"
 331        },
 332        duree: 2,
 333        G: 0,
 334        ListeContenus: {
 335          _T: 24,
 336          V: [
 337            {
 338              G: 16,
 339              L: "ITALIEN",
 340              N: "83#mQHfqfuWecV3ZL796CHXs3cofVvscqfmXM7JgR7dgmM"
 341            },
 342            {
 343              G: 3,
 344              L: "MARIO L."
 345            },
 346            {
 347              G: 2,
 348              L: "[2ITA2]",
 349              N: "64#Ly2Hj2g9PIKc6gBLFrWpVpZlxfz9LVBELnKmRkWe2cY"
 350            },
 351            {
 352              G: 17,
 353              L: "A 116",
 354              N: "139#w6ooeKypQqSe7p_hCFLl-lWiYm144w68FntwzZconKA"
 355            }
 356          ]
 357        },
 358        N: "31#RvbbqNo1D594VjuJZxbdg5X-HDURsLbHqEsUYCQyiYA",
 359        P: 663,
 360        place: 72
 361      },
 362      {
 363        AvecTafPublie: false,
 364        CouleurFond: "#4EC2EE",
 365        DateDuCours: {
 366          _T: 7,
 367          V: "13/09/2024 16:00:00"
 368        },
 369        duree: 2,
 370        G: 0,
 371        ListeContenus: {
 372          _T: 24,
 373          V: [
 374            {
 375              G: 16,
 376              L: "MATHEMATIQUES",
 377              N: "83#q1jtRcfrKmDAMv4Fzjo03BMKaaXvHZuuafbsmEmCyYk"
 378            },
 379            {
 380              G: 3,
 381              L: "JEU M."
 382            },
 383            {
 384              G: 2,
 385              L: "[2H-G.1]",
 386              N: "64#VmHx1tPCwq84LUi_qIujcz264B2s4LowugT34qPh4no"
 387            },
 388            {
 389              G: 17,
 390              L: "B 113",
 391              N: "139#NM01iqS3k6xq66NJLkqQpAaqRppgt5awjxTzhcjGRBs"
 392            }
 393          ]
 394        },
 395        N: "31#nWv1p6fsUNpKEo9Fpx2yKmxPTlSeSteJ1Ouiq67IFxc",
 396        P: 344,
 397        place: 94
 398      },
 399      {
 400        AvecTafPublie: false,
 401        CouleurFond: "#6EBC81",
 402        DateDuCours: {
 403          _T: 7,
 404          V: "10/09/2024 17:00:00"
 405        },
 406        duree: 2,
 407        G: 0,
 408        ListeContenus: {
 409          _T: 24,
 410          V: [
 411            {
 412              G: 16,
 413              L: "ITALIEN",
 414              N: "83#mQHfqfuWecV3ZL796CHXs3cofVvscqfmXM7JgR7dgmM"
 415            },
 416            {
 417              G: 3,
 418              L: "MARIO L."
 419            },
 420            {
 421              G: 2,
 422              L: "[2ITA2]",
 423              N: "64#Ly2Hj2g9PIKc6gBLFrWpVpZlxfz9LVBELnKmRkWe2cY"
 424            },
 425            {
 426              G: 17,
 427              L: "A 116",
 428              N: "139#w6ooeKypQqSe7p_hCFLl-lWiYm144w68FntwzZconKA"
 429            }
 430          ]
 431        },
 432        N: "31#Zivw9cJk4Q-vOkkHhNCPxq4mLf7-o4g5EU6Co9CL8Xs",
 433        P: 664,
 434        place: 36
 435      },
 436      {
 437        AvecTafPublie: false,
 438        CouleurFond: "#43B061",
 439        DateDuCours: {
 440          _T: 7,
 441          V: "12/09/2024 09:00:00"
 442        },
 443        duree: 3,
 444        G: 0,
 445        ListeContenus: {
 446          _T: 24,
 447          V: [
 448            {
 449              G: 16,
 450              L: "SCIENCES VIE & TERRE",
 451              N: "83#z2MCpw1GDdnQggueeGSW2XHbjFNOf4iI_x-LRBOJ3W4"
 452            },
 453            {
 454              G: 3,
 455              L: "VIVEZ M."
 456            },
 457            {
 458              G: 2,
 459              L: "[2H-G.1]",
 460              N: "64#VmHx1tPCwq84LUi_qIujcz264B2s4LowugT34qPh4no"
 461            },
 462            {
 463              G: 17,
 464              L: "LABOS SVT",
 465              N: "139#65qizOANfWofY0yg9WfKW6e4feYy8QIZcEjSimZ8euA"
 466            }
 467          ]
 468        },
 469        N: "31#yrD6ghTQin_p0fYHD9ubcR_BXugZg77gyAZ9dKRf3lc",
 470        P: 865,
 471        place: 60
 472      },
 473      {
 474        AvecTafPublie: false,
 475        CouleurFond: "#0099DA",
 476        DateDuCours: {
 477          _T: 7,
 478          V: "12/09/2024 10:30:00"
 479        },
 480        duree: 3,
 481        estAnnule: true,
 482        G: 0,
 483        ListeContenus: {
 484          _T: 24,
 485          V: [
 486            {
 487              G: 16,
 488              L: "PHYSIQUE-CHIMIE",
 489              N: "83#Vmy8PpiSedDVWwwYt6j45a56-8PuOwOTzFzAM8Cyu-s"
 490            },
 491            {
 492              G: 3,
 493              L: "FYCHI S."
 494            },
 495            {
 496              G: 2,
 497              L: "[2H-G.1]",
 498              N: "64#VmHx1tPCwq84LUi_qIujcz264B2s4LowugT34qPh4no"
 499            },
 500            {
 501              G: 17,
 502              L: "LABOS PHCH",
 503              N: "139#RfM92ZkaV_xVsUxD-igLK9lM1Sz_zlHbiG7n_AOr72I"
 504            }
 505          ]
 506        },
 507        N: "31#ndJcepETu7RprJTjWF9xFRNelF-2xUockgxA5YPAcCE",
 508        P: 868,
 509        place: 63,
 510        Statut: "Cours annulé"
 511      },
 512      {
 513        AvecTafPublie: false,
 514        CouleurFond: "#4EC2EE",
 515        DateDuCours: {
 516          _T: 7,
 517          V: "12/09/2024 17:00:00"
 518        },
 519        duree: 2,
 520        G: 0,
 521        ListeContenus: {
 522          _T: 24,
 523          V: [
 524            {
 525              G: 16,
 526              L: "MATHEMATIQUES",
 527              N: "83#q1jtRcfrKmDAMv4Fzjo03BMKaaXvHZuuafbsmEmCyYk"
 528            },
 529            {
 530              G: 3,
 531              L: "JEU M."
 532            },
 533            {
 534              G: 17,
 535              L: "B 116 - W",
 536              N: "139#0IqbY5cx2Gcy0w592ttbjflHkTopOK1-qZIR2jLsjTE"
 537            }
 538          ]
 539        },
 540        N: "31#_pbsVEBNDjg-UkS3aN7vm5iClTQhkPeJTHDP1faFjgY",
 541        P: 1191,
 542        place: 76
 543      },
 544      {
 545        AvecTafPublie: false,
 546        CouleurFond: "#ED6566",
 547        DateDuCours: {
 548          _T: 7,
 549          V: "09/09/2024 14:00:00"
 550        },
 551        duree: 2,
 552        G: 0,
 553        ListeContenus: {
 554          _T: 24,
 555          V: [
 556            {
 557              G: 16,
 558              L: "SC.NUMERIQ.TECHNOL.",
 559              N: "83#QbplG9A8rzYq-kXdDGUybalOxbFztxPIKQkUuWn5a9U"
 560            },
 561            {
 562              G: 3,
 563              L: "JEU M."
 564            },
 565            {
 566              G: 2,
 567              L: "[2H-G.1]",
 568              N: "64#VmHx1tPCwq84LUi_qIujcz264B2s4LowugT34qPh4no"
 569            },
 570            {
 571              G: 17,
 572              L: "A 106 - MEDIALANGUES",
 573              N: "139#1HuubNgB5LUhZ3uPyQ3jrmUmodZTD4paek0Nd4XCGAA"
 574            }
 575          ]
 576        },
 577        N: "31#Z3z7ZihVoRn90DAHZa5QBwjIRApmUkV4Dp2ZwPz_Doc",
 578        P: 1063,
 579        place: 10
 580      },
 581      {
 582        AvecTafPublie: false,
 583        CouleurFond: "#4EC2EE",
 584        DateDuCours: {
 585          _T: 7,
 586          V: "09/09/2024 11:00:00"
 587        },
 588        duree: 2,
 589        G: 0,
 590        ListeContenus: {
 591          _T: 24,
 592          V: [
 593            {
 594              G: 16,
 595              L: "MATHEMATIQUES",
 596              N: "83#q1jtRcfrKmDAMv4Fzjo03BMKaaXvHZuuafbsmEmCyYk"
 597            },
 598            {
 599              G: 3,
 600              L: "JEU M."
 601            },
 602            {
 603              G: 17,
 604              L: "B 111",
 605              N: "139#OscJsqMf-qHnEUgaGIJyEpS34alFGIdp6Uw_0QGDftk"
 606            }
 607          ]
 608        },
 609        N: "31#gNhfFUxjdjetvzk_gXuFBMc1p12RtTNBlXHj1EnsvJs",
 610        P: 553,
 611        place: 4
 612      },
 613      {
 614        AvecTafPublie: false,
 615        CouleurFond: "#4EC2EE",
 616        DateDuCours: {
 617          _T: 7,
 618          V: "12/09/2024 12:00:00"
 619        },
 620        duree: 2,
 621        G: 0,
 622        ListeContenus: {
 623          _T: 24,
 624          V: [
 625            {
 626              G: 16,
 627              L: "MATHEMATIQUES",
 628              N: "83#q1jtRcfrKmDAMv4Fzjo03BMKaaXvHZuuafbsmEmCyYk"
 629            },
 630            {
 631              G: 3,
 632              L: "JEU M."
 633            },
 634            {
 635              G: 17,
 636              L: "A 216",
 637              N: "139#0QbWA2LGiJ4hW52TuAiEgHlo_nHowJtzZgHJGl_QPnQ"
 638            }
 639          ]
 640        },
 641        N: "31#x0CCcUSVGHxTKavgQLkbBg-zyxxSyKkywslNOohiQPE",
 642        P: 554,
 643        place: 66
 644      },
 645      {
 646        AvecTafPublie: false,
 647        CouleurFond: "#ED6566",
 648        DateDuCours: {
 649          _T: 7,
 650          V: "12/09/2024 14:00:00"
 651        },
 652        duree: 2,
 653        G: 0,
 654        ListeContenus: {
 655          _T: 24,
 656          V: [
 657            {
 658              G: 16,
 659              L: "SC.NUMERIQ.TECHNOL.",
 660              N: "83#QbplG9A8rzYq-kXdDGUybalOxbFztxPIKQkUuWn5a9U"
 661            },
 662            {
 663              G: 3,
 664              L: "JEU M."
 665            },
 666            {
 667              G: 2,
 668              L: "[2H-G.1]",
 669              N: "64#VmHx1tPCwq84LUi_qIujcz264B2s4LowugT34qPh4no"
 670            },
 671            {
 672              G: 17,
 673              L: "A137",
 674              N: "139#ieN0SO2a4F6zpuvyM4aC8H4-P9tzDDN4XLSokaHDqyE"
 675            }
 676          ]
 677        },
 678        N: "31#YilybyFEZZH0O3M6XBTIwB4yoNgKAA6ypXohtgvwrM8",
 679        P: 1064,
 680        place: 70
 681      },
 682      {
 683        AvecTafPublie: false,
 684        CouleurFond: "#9495CA",
 685        DateDuCours: {
 686          _T: 7,
 687          V: "13/09/2024 13:00:00"
 688        },
 689        duree: 2,
 690        G: 0,
 691        ListeContenus: {
 692          _T: 24,
 693          V: [
 694            {
 695              G: 16,
 696              L: "FRANCAIS",
 697              N: "83#4HhwkxrjBXkNX_pYd0O4f9obxtMspU_6HntiRw6mW-w"
 698            },
 699            {
 700              G: 3,
 701              L: "FRAUN C."
 702            },
 703            {
 704              G: 17,
 705              L: "B 111",
 706              N: "139#OscJsqMf-qHnEUgaGIJyEpS34alFGIdp6Uw_0QGDftk"
 707            }
 708          ]
 709        },
 710        N: "31#-Jq5HwqKIbWzp9IWb7PAnaPuQQ7_hZVetd4W47WMNw0",
 711        P: 306,
 712        place: 88
 713      },
 714      {
 715        AvecTafPublie: false,
 716        CouleurFond: "#9495CA",
 717        DateDuCours: {
 718          _T: 7,
 719          V: "12/09/2024 16:00:00"
 720        },
 721        duree: 2,
 722        G: 0,
 723        ListeContenus: {
 724          _T: 24,
 725          V: [
 726            {
 727              G: 16,
 728              L: "FRANCAIS",
 729              N: "83#4HhwkxrjBXkNX_pYd0O4f9obxtMspU_6HntiRw6mW-w"
 730            },
 731            {
 732              G: 3,
 733              L: "FRAUN C."
 734            },
 735            {
 736              G: 17,
 737              L: "B 111",
 738              N: "139#OscJsqMf-qHnEUgaGIJyEpS34alFGIdp6Uw_0QGDftk"
 739            }
 740          ]
 741        },
 742        N: "31#FgyvPodlirvu_FCo_Ot_DRYEAi6qQFCxLy4eXH-hKJA",
 743        P: 307,
 744        place: 74
 745      },
 746      {
 747        AvecTafPublie: false,
 748        CouleurFond: "#9495CA",
 749        DateDuCours: {
 750          _T: 7,
 751          V: "11/09/2024 11:00:00"
 752        },
 753        duree: 4,
 754        G: 0,
 755        ListeContenus: {
 756          _T: 24,
 757          V: [
 758            {
 759              G: 16,
 760              L: "FRANCAIS",
 761              N: "83#4HhwkxrjBXkNX_pYd0O4f9obxtMspU_6HntiRw6mW-w"
 762            },
 763            {
 764              G: 3,
 765              L: "FRAUN C."
 766            },
 767            {
 768              G: 17,
 769              L: "B 111",
 770              N: "139#OscJsqMf-qHnEUgaGIJyEpS34alFGIdp6Uw_0QGDftk"
 771            }
 772          ]
 773        },
 774        N: "31#i6nJPJCTb8u--zD8xSFiBzWaRCdPXoMV6DZc3y8V_ss",
 775        P: 308,
 776        place: 44
 777      },
 778      {
 779        AvecTafPublie: false,
 780        CouleurFond: "#7CB927",
 781        DateDuCours: {
 782          _T: 7,
 783          V: "09/09/2024 10:00:00"
 784        },
 785        duree: 2,
 786        G: 0,
 787        ListeContenus: {
 788          _T: 24,
 789          V: [
 790            {
 791              G: 16,
 792              L: "SC. ECONO.& SOCIALES",
 793              N: "83#AhjlLCLYmFw-_36peq_YdNZ9Nji6xtb950Qa3gLa7OU"
 794            },
 795            {
 796              G: 3,
 797              L: "MONEY M."
 798            },
 799            {
 800              G: 17,
 801              L: "M 04",
 802              N: "139#qvzI_g6k68OpS5tSImQbePpne5VhQQh330Qwc6klKjs"
 803            }
 804          ]
 805        },
 806        N: "31#gqQRSGM4p2yJSNj4u-Brx9OpVParYdP6RH0b4PSYu9U",
 807        P: 371,
 808        place: 2
 809      },
 810      {
 811        AvecTafPublie: false,
 812        CouleurFond: "#C0C0C0",
 813        DateDuCours: {
 814          _T: 7,
 815          V: "10/09/2024 12:00:00"
 816        },
 817        duree: 2,
 818        G: 0,
 819        ListeContenus: {
 820          _T: 24,
 821          V: [
 822            {
 823              G: 16,
 824              L: "CREAT.INNOV.TECHNO.",
 825              N: "83#IkSIq537V7wHAGrQvM3xk8DyJvKuOW1AT8STh-EwRyU"
 826            },
 827            {
 828              G: 3,
 829              L: "PAUL M."
 830            },
 831            {
 832              G: 2,
 833              L: "[2CITEC2]",
 834              N: "64#uVtu4jlHo8DkCWIaYwiVDFAAKqzi2XPSWhInJOYFXdg"
 835            },
 836            {
 837              G: 17,
 838              L: "B 219 - W",
 839              N: "139#BLXhIlGowNNXOCRD78sPLGC1XScXiGwiHAZTKP6vpMc"
 840            }
 841          ]
 842        },
 843        N: "31#4dBYe7oOCf0UHlJomY7LD6AB_-8FqY7bw3KYzedwpGs",
 844        P: 1141,
 845        place: 26
 846      },
 847      {
 848        AvecTafPublie: false,
 849        CouleurFond: "#C0C0C0",
 850        DateDuCours: {
 851          _T: 7,
 852          V: "12/09/2024 10:30:00"
 853        },
 854        duree: 3,
 855        G: 2,
 856        ListeContenus: {
 857          _T: 24,
 858          V: [
 859            {
 860              G: 16,
 861              L: "TESTS DE POSITIONNEMENT",
 862              N: "83#5jbqGRodveQvNDio1kWrOZsB3Xw5f2hKKlEKaVA7Y9k"
 863            },
 864            {
 865              G: 3,
 866              L: "FYCHI S."
 867            },
 868            {
 869              G: 2,
 870              L: "[2H-G.1]",
 871              N: "64#VmHx1tPCwq84LUi_qIujcz264B2s4LowugT34qPh4no"
 872            },
 873            {
 874              G: 17,
 875              L: "LABOS PHCH",
 876              N: "139#RfM92ZkaV_xVsUxD-igLK9lM1Sz_zlHbiG7n_AOr72I"
 877            },
 878            {
 879              G: 17,
 880              L: "A137",
 881              N: "139#ieN0SO2a4F6zpuvyM4aC8H4-P9tzDDN4XLSokaHDqyE"
 882            }
 883          ]
 884        },
 885        N: "31#AaW0ZzuGWoNWo_eP2bAsOeJZq1DCbCrsOeiv5C21l-g",
 886        P: 1275,
 887        place: 63,
 888        Statut: "Changement de salle"
 889      },
 890      {
 891        AvecTafPublie: false,
 892        CouleurFond: "#0099DA",
 893        DateDuCours: {
 894          _T: 7,
 895          V: "13/09/2024 11:00:00"
 896        },
 897        duree: 2,
 898        G: 0,
 899        ListeContenus: {
 900          _T: 24,
 901          V: [
 902            {
 903              G: 16,
 904              L: "PHYSIQUE-CHIMIE",
 905              N: "83#Vmy8PpiSedDVWwwYt6j45a56-8PuOwOTzFzAM8Cyu-s"
 906            },
 907            {
 908              G: 3,
 909              L: "FYCHI S."
 910            },
 911            {
 912              G: 17,
 913              L: "B 102 - SVT - W",
 914              N: "139#BxiJkq4yc7AEm_T-xV2wHIA2i-XvuLjuI0qp47-fr10"
 915            }
 916          ]
 917        },
 918        N: "31#WGCO_hjHbYW_xOVcf69Su_UY7idWUd_d2Kem1CzzCQ8",
 919        P: 381,
 920        place: 84
 921      }
 922    ].map((cours) => deserialize(Cours, cours)).filter((cours) => cours.dateDuCours.getDate() === 9)
 923  } as unknown as PageEmploiDuTempsModel;
 924  
 925  const parameters = {
 926    general: {
 927      listeHeures: [
 928        {
 929          a: false,
 930          G: 0,
 931          L: "09h30"
 932        },
 933        {
 934          a: false,
 935          G: 1,
 936          L: "09h55"
 937        },
 938        {
 939          a: false,
 940          G: 2,
 941          L: "10h30"
 942        },
 943        {
 944          G: 3,
 945          L: "10h55"
 946        },
 947        {
 948          a: false,
 949          G: 4,
 950          L: "11h30"
 951        },
 952        {
 953          a: false,
 954          G: 5,
 955          L: "11h55"
 956        },
 957        {
 958          a: false,
 959          G: 6,
 960          L: "12h30"
 961        },
 962        {
 963          a: false,
 964          G: 7,
 965          L: "12h55"
 966        },
 967        {
 968          a: false,
 969          G: 8,
 970          L: "13h30"
 971        },
 972        {
 973          a: false,
 974          G: 9,
 975          L: "13h55"
 976        },
 977        {
 978          a: false,
 979          G: 10,
 980          L: "14h30"
 981        },
 982        {
 983          a: false,
 984          G: 11,
 985          L: "14h55"
 986        },
 987        {
 988          a: false,
 989          G: 12,
 990          L: "15h30"
 991        },
 992        {
 993          G: 13,
 994          L: "15h55"
 995        },
 996        {
 997          a: false,
 998          G: 14,
 999          L: "16h30"
1000        },
1001        {
1002          a: false,
1003          G: 15,
1004          L: "16h55"
1005        },
1006        {
1007          a: false,
1008          G: 16,
1009          L: "17h30"
1010        },
1011        {
1012          a: false,
1013          G: 17,
1014          L: "17h55"
1015        },
1016        {
1017          a: false,
1018          G: 18,
1019          L: "18h30"
1020        },
1021        {
1022          G: 19,
1023          L: "18h55"
1024        },
1025        {
1026          a: false,
1027          G: 20,
1028          L: "18h55"
1029        }
1030      ],
1031      placesParJour: 20,
1032      premierLundi: new Date("2024-09-02")
1033    }
1034  } as unknown as FonctionParametresModel;
1035  
1036  describe("Timetable", () => {
1037    it("should filter lessons properly", () => {
1038      const timetable = new Timetable(new Parameters({ data: parameters }), { data });
1039      const entries = timetable.filter(false, true, true);
1040  
1041      expect(entries).toBeArrayOfSize(4);
1042      expect(entries[0].id).toBe("31#gqQRSGM4p2yJSNj4u-Brx9OpVParYdP6RH0b4PSYu9U");
1043      expect(entries[1].id).toBe("31#gNhfFUxjdjetvzk_gXuFBMc1p12RtTNBlXHj1EnsvJs");
1044      expect(entries[2].id).toBe("31#Z3z7ZihVoRn90DAHZa5QBwjIRApmUkV4Dp2ZwPz_Doc");
1045      expect(entries[3].id).toBe("31#mVG40ZKww0PdaugNzBxEBT-4V9UQ7Lo8IfFu_4wQD98");
1046    });
1047  });