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 8c1a3fa598a31bde15c78d63a2b29a1b1cb05a01..7c13e562939a4a704cd6e3af17ce39372304588a 100644
--- a/projects/player/src/app/components/page/page.component.spec.ts
+++ b/projects/player/src/app/components/page/page.component.spec.ts
@@ -1,5 +1,6 @@
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { PageComponent } from './page.component';
+import { Page } from 'common/models/page';
 
 describe('PageComponent', () => {
   let component: PageComponent;
@@ -15,16 +16,7 @@ describe('PageComponent', () => {
   beforeEach(() => {
     fixture = TestBed.createComponent(PageComponent);
     component = fixture.componentInstance;
-    component.page = {
-      sections: [],
-      hasMaxWidth: false,
-      maxWidth: 0,
-      margin: 0,
-      backgroundColor: 'white',
-      alwaysVisible: false,
-      alwaysVisiblePagePosition: 'left',
-      alwaysVisibleAspectRatio: 50
-    };
+    component.page = new Page();
     fixture.detectChanges();
   });
 
diff --git a/projects/player/src/app/pipes/always-visible-page.pipe.spec.ts b/projects/player/src/app/pipes/always-visible-page.pipe.spec.ts
index bab9c940d3b78c82e433bc42c03a21b97e1bf76e..52565511c841bdaaec2023a814c231f64b4d478e 100644
--- a/projects/player/src/app/pipes/always-visible-page.pipe.spec.ts
+++ b/projects/player/src/app/pipes/always-visible-page.pipe.spec.ts
@@ -4,7 +4,7 @@ import { Page } from 'common/models/page';
 
 describe('AlwaysVisiblePagePipe', () => {
 
-  const page: Page = {
+  const page: Page = new Page({
     hasMaxWidth: false,
     maxWidth: 0,
     margin: 0,
@@ -13,13 +13,13 @@ describe('AlwaysVisiblePagePipe', () => {
     alwaysVisiblePagePosition: 'left',
     alwaysVisibleAspectRatio: 50,
     sections: []
-  };
+  });
 
   const pipe = new AlwaysVisiblePagePipe();
 
   it('should transform an array of pages to the always visible page of the array', () => {
-    const pages = [page, page, { ...page, alwaysVisible: true }];
-    expect(pipe.transform(pages)).toEqual({ ...page, alwaysVisible: true });
+    const pages = [page, page, { ...page, alwaysVisible: true } as Page];
+    expect(pipe.transform(pages)).toEqual({ ...page, alwaysVisible: true } as Page);
   });
 
   it('should transform an array of pages without any always visible page to null', () => {
diff --git a/projects/player/src/app/pipes/page-index.pipe.spec.ts b/projects/player/src/app/pipes/page-index.pipe.spec.ts
index 07218091671bb6e9126df25d296370fc66e9e0c5..3acb646a6edee8aa234d06665eeabede75d25a0a 100644
--- a/projects/player/src/app/pipes/page-index.pipe.spec.ts
+++ b/projects/player/src/app/pipes/page-index.pipe.spec.ts
@@ -3,7 +3,7 @@ import { Page } from 'common/models/page';
 
 describe('PageIndexPipe', () => {
 
-  const page: Page = {
+  const page: Page = new Page({
     hasMaxWidth: false,
     maxWidth: 0,
     margin: 0,
@@ -12,9 +12,9 @@ describe('PageIndexPipe', () => {
     alwaysVisiblePagePosition: 'left',
     alwaysVisibleAspectRatio: 50,
     sections: []
-  };
+  });
 
-  const page2: Page = {
+  const page2: Page = new Page({
     hasMaxWidth: false,
     maxWidth: 0,
     margin: 0,
@@ -23,33 +23,33 @@ describe('PageIndexPipe', () => {
     alwaysVisiblePagePosition: 'left',
     alwaysVisibleAspectRatio: 50,
     sections: []
-  };
+  });
 
   const pipe = new PageIndexPipe();
 
   it('should transform pages to the index of given page (0)', () => {
-    const pages = [page, page2, { ...page2, alwaysVisible: true }];
+    const pages = [page, page2, { ...page2, alwaysVisible: true } as Page];
     expect(pipe.transform(pages, page)).toEqual(0);
   });
 
   it('should transform pages to the index of given page (not 1)', () => {
-    const pages = [page, page2, { ...page2, alwaysVisible: true }];
+    const pages = [page, page2, { ...page2, alwaysVisible: true } as Page];
     expect(pipe.transform(pages, page)).not.toEqual(1);
   });
 
   it('should transform pages to the index of given page2 (1)', () => {
-    const pages = [page, page2, { ...page2, alwaysVisible: true }];
+    const pages = [page, page2, { ...page2, alwaysVisible: true } as Page];
     expect(pipe.transform(pages, page2)).toEqual(1);
   });
 
   it('should transform pages to the index of unknown page (-1)', () => {
-    const pages = [page, { ...page2, alwaysVisible: true }];
+    const pages = [page, { ...page2, alwaysVisible: true } as Page];
     expect(pipe.transform(pages, page2)).toEqual(-1);
   });
 
   it('should transform pages to the index of unknown page (-1)', () => {
-    const pages = [page, { ...page2, alwaysVisible: true }];
-    expect(pipe.transform(pages, { ...page2, alwaysVisible: true })).toEqual(-1);
+    const pages = [page, { ...page2, alwaysVisible: true } as Page];
+    expect(pipe.transform(pages, { ...page2, alwaysVisible: true } as Page)).toEqual(-1);
   });
 
 });
diff --git a/projects/player/src/app/pipes/scroll-pages.pipe.spec.ts b/projects/player/src/app/pipes/scroll-pages.pipe.spec.ts
index e0620054a66bb0c0dce5d2e64187c04f32236e66..5c28680960dc52bfca8030bae8fc90d59fe159a9 100644
--- a/projects/player/src/app/pipes/scroll-pages.pipe.spec.ts
+++ b/projects/player/src/app/pipes/scroll-pages.pipe.spec.ts
@@ -3,7 +3,7 @@ import { Page } from 'common/models/page';
 
 describe('ScrollPagesPipe', () => {
 
-  const page: Page = {
+  const page: Page = new Page({
     hasMaxWidth: false,
     maxWidth: 0,
     margin: 0,
@@ -12,12 +12,12 @@ describe('ScrollPagesPipe', () => {
     alwaysVisiblePagePosition: 'left',
     alwaysVisibleAspectRatio: 50,
     sections: []
-  };
+  });
 
   const pipe = new ScrollPagesPipe();
 
   it('should transform 3 pages to 2 scroll pages', () => {
-    const pages = [page, page, { ...page, alwaysVisible: true }];
+    const pages = [page, page, { ...page, alwaysVisible: true } as Page];
     expect(pipe.transform(pages).length).toBe(2);
   });
 
diff --git a/projects/player/src/app/pipes/valid-pages.pipe.spec.ts b/projects/player/src/app/pipes/valid-pages.pipe.spec.ts
index 88eebb0e3727daaf486f3a6e693cd6a4a06b577c..ff72271707565bf0f34dae535b89bc5c33651e86 100644
--- a/projects/player/src/app/pipes/valid-pages.pipe.spec.ts
+++ b/projects/player/src/app/pipes/valid-pages.pipe.spec.ts
@@ -13,7 +13,7 @@ describe('ValidPagesPipe', () => {
     }
   };
 
-  const page: Page = {
+  const page = new Page({
     hasMaxWidth: false,
     maxWidth: 0,
     margin: 0,
@@ -22,7 +22,7 @@ describe('ValidPagesPipe', () => {
     alwaysVisiblePagePosition: 'left',
     alwaysVisibleAspectRatio: 50,
     sections: []
-  };
+  });
 
   beforeEach(() => {
     TestBed