From 05238df70f71142c91dfe67dec0567d1555d7a7c Mon Sep 17 00:00:00 2001
From: jojohoch <joachim.hoch@iqb.hu-berlin.de>
Date: Fri, 20 Jan 2023 11:04:31 +0100
Subject: [PATCH] [player] Fix test for PageComponent

---
 .../components/page/page.component.spec.ts    | 36 +++++++++++++++++--
 1 file changed, 33 insertions(+), 3 deletions(-)

diff --git a/projects/player/src/app/components/page/page.component.spec.ts b/projects/player/src/app/components/page/page.component.spec.ts
index 7c13e5629..7ae63233a 100644
--- a/projects/player/src/app/components/page/page.component.spec.ts
+++ b/projects/player/src/app/components/page/page.component.spec.ts
@@ -1,14 +1,45 @@
+// eslint-disable-next-line max-classes-per-file
 import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { PageComponent } from './page.component';
 import { Page } from 'common/models/page';
+import {
+  Component, Directive, EventEmitter, Input, Output
+} from '@angular/core';
+import { Section } from 'common/models/section';
+import { Subject } from 'rxjs';
+import { PageComponent } from './page.component';
 
 describe('PageComponent', () => {
   let component: PageComponent;
   let fixture: ComponentFixture<PageComponent>;
 
+  @Component({ selector: 'aspect-section', template: '' })
+  class SectionComponent {
+    @Input() section!: Section;
+    @Input() pageIndex!: number;
+  }
+
+  @Directive({ selector: '[aspectSectionVisibilityHandling]' })
+  class SectionVisibilityHandling {
+    @Input() mediaStatusChanged!: Subject<string>;
+    @Input() section!: Section;
+    @Input() pageSections!: Section[];
+  }
+
+  @Directive({ selector: '[aspectInViewDetection]' })
+  class InViewDetection {
+    @Input() detectionType!: 'top' | 'bottom';
+    @Output() intersecting = new EventEmitter();
+    @Input() intersectionContainer!: HTMLElement;
+  }
+
   beforeEach(async () => {
     await TestBed.configureTestingModule({
-      declarations: [ PageComponent ]
+      declarations: [
+        PageComponent,
+        SectionComponent,
+        SectionVisibilityHandling,
+        InViewDetection
+      ]
     })
       .compileComponents();
   });
@@ -23,5 +54,4 @@ describe('PageComponent', () => {
   it('should create', () => {
     expect(component).toBeTruthy();
   });
-
 });
-- 
GitLab