generateAlbumSecondaryNav.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. import t from 'tap';
  2. import {testContentFunctions} from '#test-lib';
  3. testContentFunctions(t, 'generateAlbumSecondaryNav (snapshot)', async (t, evaluate) => {
  4. await evaluate.load();
  5. let album, anotherAlbum, group1, group2;
  6. group1 = {
  7. name: 'VCG',
  8. directory: 'vcg',
  9. color: '#abcdef',
  10. serieses: [],
  11. };
  12. group2 = {
  13. name: 'Bepis',
  14. directory: 'bepis',
  15. color: '#123456',
  16. serieses: [],
  17. };
  18. album = {
  19. name: 'Album',
  20. directory: 'album',
  21. date: new Date('2010-04-13'),
  22. groups: [group1, group2],
  23. };
  24. anotherAlbum = {
  25. name: 'Last',
  26. directory: 'last',
  27. date: new Date('2010-06-12'),
  28. };
  29. group1.albums = [
  30. {
  31. name: 'First',
  32. directory: 'first',
  33. date: new Date('2010-04-10'),
  34. },
  35. album,
  36. anotherAlbum,
  37. ];
  38. group1.serieses = [
  39. {
  40. name: 'Series',
  41. albums: [album, anotherAlbum],
  42. group: group1,
  43. },
  44. ];
  45. group2.albums = [
  46. album,
  47. {
  48. name: 'Second',
  49. directory: 'second',
  50. date: new Date('2011-04-13'),
  51. },
  52. ];
  53. evaluate.snapshot('basic behavior, mode: album', {
  54. name: 'generateAlbumSecondaryNav',
  55. args: [album],
  56. slots: {mode: 'album'},
  57. });
  58. evaluate.snapshot('basic behavior, mode: track', {
  59. name: 'generateAlbumSecondaryNav',
  60. args: [album],
  61. slots: {mode: 'track'},
  62. });
  63. album = {
  64. date: null,
  65. groups: [group1, group2],
  66. };
  67. group1.albums = [
  68. ...group1.albums,
  69. album,
  70. ];
  71. evaluate.snapshot('dateless album in mixed group', {
  72. name: 'generateAlbumSecondaryNav',
  73. args: [album],
  74. slots: {mode: 'album'},
  75. });
  76. });