From 9e06cfcf023568e676a1c686b462595e39588113 Mon Sep 17 00:00:00 2001
From: jojohoch <joachim.hoch@iqb.hu-berlin.de>
Date: Mon, 16 Aug 2021 08:51:31 +0200
Subject: [PATCH] [player] Refactor verify methods

Check whether `unitDefinition` or `unitStateDataType` are undefined is
done within the verify methods
---
 projects/player/src/app/app.component.ts              | 10 ++++------
 projects/player/src/app/services/meta-data.service.ts |  8 ++++----
 2 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/projects/player/src/app/app.component.ts b/projects/player/src/app/app.component.ts
index 1893dbed9..5e903a66d 100644
--- a/projects/player/src/app/app.component.ts
+++ b/projects/player/src/app/app.component.ts
@@ -45,12 +45,11 @@ export class AppComponent implements OnInit {
       .subscribe((focused: boolean): void => this.onFocus(focused));
   }
 
-  private initUnit(pages: UnitPage[], unitState: UnitState | undefined): void {
+  private initUnitPages(pages: UnitPage[], unitState: UnitState | undefined): void {
     const storedPages: FormPage[] = unitState?.dataParts?.pages ?
       JSON.parse(unitState.dataParts.pages) : [];
     if (storedPages.length > 0) {
-      if (unitState?.unitStateDataType &&
-        this.metaDataService.verifyUnitStateDataType(unitState.unitStateDataType)) {
+      if (this.metaDataService.verifyUnitStateDataType(unitState?.unitStateDataType)) {
         this.pages = this.addStoredValues(pages, storedPages);
       } else {
         // eslint-disable-next-line no-console
@@ -66,11 +65,10 @@ export class AppComponent implements OnInit {
     // eslint-disable-next-line no-console
     console.log('player: onStart', message);
     const unitDefinition: Unit = message.unitDefinition ? JSON.parse(message.unitDefinition) : {};
-    if (unitDefinition.veronaModuleVersion &&
-      this.metaDataService.verifyUnitDefinitionVersion(unitDefinition.veronaModuleVersion)) {
+    if (this.metaDataService.verifyUnitDefinitionVersion(unitDefinition.veronaModuleVersion)) {
       this.veronaPostService.sessionId = message.sessionId;
       this.playerConfig = message.playerConfig || {};
-      this.initUnit(unitDefinition.pages, message.unitState);
+      this.initUnitPages(unitDefinition.pages, message.unitState);
     } else {
       // eslint-disable-next-line no-console
       console.warn('player: wrong unitDefinitionType');
diff --git a/projects/player/src/app/services/meta-data.service.ts b/projects/player/src/app/services/meta-data.service.ts
index 8f8801229..b44237185 100644
--- a/projects/player/src/app/services/meta-data.service.ts
+++ b/projects/player/src/app/services/meta-data.service.ts
@@ -22,11 +22,11 @@ export class MetaDataService {
     };
   }
 
-  verifyUnitDefinitionVersion(unitDefinition: string): boolean {
-    return (this.playerMetadata.supportedUnitDefinitionTypes === unitDefinition);
+  verifyUnitDefinitionVersion(unitDefinition: string | undefined): boolean {
+    return (!!unitDefinition && unitDefinition === this.playerMetadata.supportedUnitDefinitionTypes);
   }
 
-  verifyUnitStateDataType(unitStateDataType: string): boolean {
-    return (this.playerMetadata.supportedUnitStateDataTypes === unitStateDataType);
+  verifyUnitStateDataType(unitStateDataType: string | undefined): boolean {
+    return (!!unitStateDataType && unitStateDataType === this.playerMetadata.supportedUnitStateDataTypes);
   }
 }
-- 
GitLab