@@ -6,6 +6,13 @@ function isFeatureEnabled(environmentVariable) {
6
6
return environmentVariable === 'true' ;
7
7
}
8
8
9
+ function getParsedJson ( environmentVariable ) {
10
+ if ( environmentVariable === undefined ) {
11
+ return undefined ;
12
+ }
13
+ return JSON . parse ( environmentVariable ) ;
14
+ }
15
+
9
16
function buildConfiguration ( ) {
10
17
const config = {
11
18
environment : env . NODE_ENV || 'development' ,
@@ -22,7 +29,7 @@ function buildConfiguration() {
22
29
user : env . GYMLIB_MAIL_RECEIVER_IMAP_USER ,
23
30
password : env . GYMLIB_MAIL_RECEIVER_IMAP_PASSWORD ,
24
31
} ,
25
- searchQuery : JSON . parse ( env . GYMLIB_MAIL_RECEIVER_IMAP_SEARCH_QUERY ) ,
32
+ searchQuery : getParsedJson ( env . GYMLIB_MAIL_RECEIVER_IMAP_SEARCH_QUERY ) ,
26
33
} ,
27
34
ucpa : {
28
35
imapConfig : {
@@ -31,8 +38,8 @@ function buildConfiguration() {
31
38
user : env . UCPA_MAIL_RECEIVER_IMAP_USER ,
32
39
password : env . UCPA_MAIL_RECEIVER_IMAP_PASSWORD ,
33
40
} ,
34
- searchQuery : JSON . parse ( env . UCPA_MAIL_RECEIVER_IMAP_SEARCH_QUERY ) ,
35
- formInfo : JSON . parse ( env . FORM_RESPONSE ) ,
41
+ searchQuery : getParsedJson ( env . UCPA_MAIL_RECEIVER_IMAP_SEARCH_QUERY || { } ) ,
42
+ formInfo : getParsedJson ( env . FORM_RESPONSE ) ,
36
43
formSubmit : isFeatureEnabled ( env . FORM_SUBMIT_ENABLED ) ,
37
44
areaId : env . UCPA_AREA_ID ,
38
45
} ,
@@ -43,7 +50,7 @@ function buildConfiguration() {
43
50
calendar : {
44
51
name : env . CALENDAR_NAME ,
45
52
} ,
46
- timeSlotsPreferences : JSON . parse ( env . TIME_SLOTS_PREFERENCES ) ,
53
+ timeSlotsPreferences : getParsedJson ( env . TIME_SLOTS_PREFERENCES ) ,
47
54
} ;
48
55
if ( config . environment === 'test' ) {
49
56
config . logging . enabled = false ;
@@ -56,6 +63,10 @@ function buildConfiguration() {
56
63
}
57
64
58
65
function verifyConfig ( config ) {
66
+ if ( env . NODE_ENV === 'test' ) {
67
+ return true ;
68
+ }
69
+
59
70
let allKeysHaveValues = true ;
60
71
61
72
function checkDeep ( object , path ) {
0 commit comments