@playpilot/tpi 7.2.0 → 8.0.0-beta.explore-home.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/.env +1 -0
  2. package/dist/editorial.mount.js +11 -11
  3. package/dist/link-injections.js +1 -1
  4. package/dist/mount.js +7 -7
  5. package/events.md +1 -0
  6. package/package.json +1 -1
  7. package/src/lib/api/youtubeAvailability.ts +26 -0
  8. package/src/lib/enums/TrackingEvent.ts +1 -0
  9. package/src/lib/explore.ts +2 -2
  10. package/src/lib/trailer.ts +31 -0
  11. package/src/lib/types/explore.d.ts +5 -0
  12. package/src/routes/components/Button.svelte +2 -1
  13. package/src/routes/components/Explore/ExploreLayout.svelte +102 -0
  14. package/src/routes/components/Explore/ExploreModal.svelte +2 -2
  15. package/src/routes/components/Explore/ExploreRouter.svelte +35 -0
  16. package/src/routes/components/Explore/Routes/ExploreHome.svelte +15 -0
  17. package/src/routes/components/Explore/{Explore.svelte → Routes/ExploreResults.svelte} +46 -115
  18. package/src/routes/components/Rails/TitlesRail.svelte +61 -9
  19. package/src/routes/components/YouTubeEmbed.svelte +35 -0
  20. package/src/routes/components/YouTubeEmbedOverlay.svelte +14 -29
  21. package/src/routes/elements/+page.svelte +12 -2
  22. package/src/routes/explore/+page.svelte +1 -1
  23. package/src/tests/lib/api/youtubeAvailability.test.js +70 -0
  24. package/src/tests/lib/trailer.test.js +57 -1
  25. package/src/tests/routes/components/Explore/ExploreLayout.test.js +52 -0
  26. package/src/tests/routes/components/Explore/ExploreRouter.test.js +20 -0
  27. package/src/tests/routes/components/Explore/Routes/ExploreHome.test.js +18 -0
  28. package/src/tests/routes/components/Explore/{Explore.test.js → Routes/ExploreResults.test.js} +29 -22
  29. package/src/tests/routes/components/Rails/TitlesRail.test.js +51 -0
  30. package/src/tests/routes/components/YouTubeEmbed.test.js +31 -0
  31. package/src/tests/routes/components/YouTubeEmbedOverlay.test.js +1 -8
  32. package/vite.config.js +8 -0
@@ -0,0 +1,31 @@
1
+ import { render } from '@testing-library/svelte'
2
+ import { describe, expect, it } from 'vitest'
3
+
4
+ import YouTubeEmbed from '../../../routes/components/YouTubeEmbed.svelte'
5
+
6
+ describe('YouTubeEmbed.svelte', () => {
7
+ it('Should render embed iframe with given video url and default options', () => {
8
+ const { container } = render(YouTubeEmbed, { embeddable_url: 'youtube.com/watch?v=abc' })
9
+
10
+ expect(/** @type {HTMLIFrameElement} */ (container.querySelector('iframe')).src).toBe('https://video.playpilot.net/?video_id=abc&color=fa548a&muted=false&controls=&autoplay=true&playsinline=true')
11
+ })
12
+
13
+ it('Should render embed iframe with given controls', () => {
14
+ const { container } = render(YouTubeEmbed, { embeddable_url: 'youtube.com/watch?v=abc', controls: ['fullscreen', 'mute'] })
15
+
16
+ expect(/** @type {HTMLIFrameElement} */ (container.querySelector('iframe')).src).toContain('&controls=fullscreen,mute')
17
+ })
18
+
19
+ it('Should render embed iframe with muted if given', () => {
20
+ const { container } = render(YouTubeEmbed, { embeddable_url: 'youtube.com/watch?v=abc', muted: true })
21
+
22
+ expect(/** @type {HTMLIFrameElement} */ (container.querySelector('iframe')).src).toContain('&muted=true')
23
+ })
24
+
25
+ it('Should render error message if embeddable_url is invalid', () => {
26
+ const { container, getByText } = render(YouTubeEmbed, { embeddable_url: '-' })
27
+
28
+ expect(container.querySelector('iframe')).not.toBeTruthy()
29
+ expect(getByText('Something went wrong')).toBeTruthy()
30
+ })
31
+ })
@@ -8,14 +8,7 @@ describe('YouTubeEmbedOverlay.svelte', () => {
8
8
  const { container } = render(YouTubeEmbedOverlay, { embeddable_url: 'youtube.com/watch?v=abc', onclose: () => null })
9
9
 
10
10
  // @ts-ignore
11
- expect(container.querySelector('iframe').src).toBe('https://video.playpilot.net/?video_id=abc&autoplay=true&playsinline=true&controls=play,mute,fullscreen,progress,current-time&color=#fa548a')
12
- })
13
-
14
- it('Should render error message if embeddable_url is invalid', () => {
15
- const { container, getByText } = render(YouTubeEmbedOverlay, { embeddable_url: '-', onclose: () => null })
16
-
17
- expect(container.querySelector('iframe')).not.toBeTruthy()
18
- expect(getByText('Something went wrong')).toBeTruthy()
11
+ expect(container.querySelector('iframe').src).toBe('https://video.playpilot.net/?video_id=abc&color=fa548a&muted=false&controls=current-time,fullscreen,mute,play,progress&autoplay=true&playsinline=true')
19
12
  })
20
13
 
21
14
  it('Should fire given onclose function on click of close button and backdrop', async () => {
package/vite.config.js CHANGED
@@ -17,6 +17,14 @@ export default defineConfig(() => ({
17
17
 
18
18
  test: {
19
19
  environment: 'happy-dom',
20
+ environmentOptions: {
21
+ happyDOM: {
22
+ settings: {
23
+ enableJavaScriptEvaluation: true,
24
+ disableJavaScriptFileLoading: true,
25
+ },
26
+ },
27
+ },
20
28
  include: ['src/**/*.{test,spec}.{js,ts}'],
21
29
  setupFiles: ['src/tests/setup.js'],
22
30
  },