@@ -13,6 +13,8 @@ const createGetDataElementValueModule = require('../createGetDataElementValue');
1313
1414jest . mock ( '../cleanText.js' ) ;
1515
16+ const defaultContext = { arcAndUtils : { } } ;
17+
1618const createGetDataElementDefinitionDefault = ( dataDef ) =>
1719 jest . fn ( ) . mockImplementation ( ( dataElementName ) => {
1820 if ( dataElementName === 'testDataElement' ) {
@@ -29,7 +31,7 @@ const createGetDataElementValue = (
2931 delegateDefinition ,
3032 {
3133 moduleProvider = {
32- getModuleExports : ( ) => ( settings ) => settings . foo
34+ getModuleExports : ( ) => ( context ) => context . utils . getSettings ( ) . foo
3335 } ,
3436 createGetDataElementDefinition = createGetDataElementDefinitionDefault
3537 } = { }
@@ -52,20 +54,23 @@ describe('function returned by createGetDataElementValue', () => {
5254 }
5355 } ) ;
5456
55- return getDataElementValue ( 'testDataElement' , { } ) . then ( ( dataElementValue ) =>
56- expect ( dataElementValue ) . toBe ( 'bar' )
57- ) ;
57+ return getDataElementValue (
58+ 'testDataElement' ,
59+ defaultContext
60+ ) . then ( ( dataElementValue ) => expect ( dataElementValue ) . toBe ( 'bar' ) ) ;
5861 } ) ;
5962
6063 test ( 'returns a value from the contextData object as value' , ( ) => {
6164 const context = {
62- contextData : {
63- foo : 'bar'
65+ arcAndUtils : {
66+ arc : {
67+ foo : 'bar'
68+ }
6469 }
6570 } ;
6671
6772 const moduleProvider = {
68- getModuleExports : ( ) => ( _ , contextData ) => contextData . foo
73+ getModuleExports : ( ) => ( c ) => c . arc . foo
6974 } ;
7075
7176 const getDataElementValue = createGetDataElementValue (
@@ -85,9 +90,10 @@ describe('function returned by createGetDataElementValue', () => {
8590 settings : { foo : 'bar' }
8691 } ) ;
8792
88- return getDataElementValue ( 'testDataElement' , { } ) . then ( ( dataElementValue ) =>
89- expect ( dataElementValue ) . toBe ( 'cleaned:bar' )
90- ) ;
93+ return getDataElementValue (
94+ 'testDataElement' ,
95+ defaultContext
96+ ) . then ( ( dataElementValue ) => expect ( dataElementValue ) . toBe ( 'cleaned:bar' ) ) ;
9197 } ) ;
9298
9399 [ undefined , null ] . forEach ( ( testDataElementValue ) => {
@@ -106,7 +112,7 @@ describe('function returned by createGetDataElementValue', () => {
106112
107113 return getDataElementValue (
108114 'testDataElement' ,
109- { }
115+ defaultContext
110116 ) . then ( ( dataElementValue ) =>
111117 expect ( dataElementValue ) . toBe ( 'defaultValue' )
112118 ) ;
@@ -123,7 +129,7 @@ describe('function returned by createGetDataElementValue', () => {
123129
124130 return getDataElementValue (
125131 'testDataElement' ,
126- { }
132+ defaultContext
127133 ) . then ( ( dataElementValue ) =>
128134 expect ( dataElementValue ) . toBe ( testDataElementValue )
129135 ) ;
@@ -146,7 +152,7 @@ describe('function returned by createGetDataElementValue', () => {
146152
147153 return getDataElementValue (
148154 'testDataElement' ,
149- { }
155+ defaultContext
150156 ) . then ( ( dataElementValue ) =>
151157 expect ( dataElementValue ) . toBe ( testDataElementValue )
152158 ) ;
@@ -161,9 +167,10 @@ describe('function returned by createGetDataElementValue', () => {
161167 }
162168 } ) ;
163169
164- return getDataElementValue ( 'testDataElement' , { } ) . then ( ( dataElementValue ) =>
165- expect ( dataElementValue ) . toBe ( 'bar' )
166- ) ;
170+ return getDataElementValue (
171+ 'testDataElement' ,
172+ defaultContext
173+ ) . then ( ( dataElementValue ) => expect ( dataElementValue ) . toBe ( 'bar' ) ) ;
167174 } ) ;
168175
169176 test ( 'lowercases the default value if forceLowerCase = true' , ( ) => {
@@ -173,9 +180,10 @@ describe('function returned by createGetDataElementValue', () => {
173180 settings : { }
174181 } ) ;
175182
176- return getDataElementValue ( 'testDataElement' , { } ) . then ( ( dataElementValue ) =>
177- expect ( dataElementValue ) . toBe ( 'bar' )
178- ) ;
183+ return getDataElementValue (
184+ 'testDataElement' ,
185+ defaultContext
186+ ) . then ( ( dataElementValue ) => expect ( dataElementValue ) . toBe ( 'bar' ) ) ;
179187 } ) ;
180188
181189 test ( 'throws an error when calling data element module exports fails' , ( ) => {
@@ -193,7 +201,7 @@ describe('function returned by createGetDataElementValue', () => {
193201 { moduleProvider }
194202 ) ;
195203
196- return getDataElementValue ( 'testDataElement' , { } ) . catch ( ( e ) => {
204+ return getDataElementValue ( 'testDataElement' , defaultContext ) . catch ( ( e ) => {
197205 expect ( e . message ) . toMatch (
198206 'Failed to execute module for data element "testDataElement". noob tried to divide by zero'
199207 ) ;
@@ -214,7 +222,7 @@ describe('function returned by createGetDataElementValue', () => {
214222 { moduleProvider }
215223 ) ;
216224
217- return getDataElementValue ( 'testDataElement' , { } )
225+ return getDataElementValue ( 'testDataElement' , defaultContext )
218226 . then ( ( ) => {
219227 throw new Error ( 'This section should not have been called.' ) ;
220228 } )
@@ -234,7 +242,7 @@ noob tried to divide by zero'
234242 { createGetDataElementDefinition : ( ) => ( ) => { } }
235243 ) ;
236244
237- return getDataElementValue ( 'testDataElement' , { } )
245+ return getDataElementValue ( 'testDataElement' , defaultContext )
238246 . then ( ( ) => {
239247 throw new Error ( 'This section should not have been called.' ) ;
240248 } )
@@ -253,7 +261,8 @@ noob tried to divide by zero'
253261 } ) ;
254262
255263 return getDataElementValue ( 'testDataElement' , {
256- dataElementCallStack : [ 'testDataElement' ]
264+ dataElementCallStack : [ 'testDataElement' ] ,
265+ arcAndUtils : { }
257266 } )
258267 . then ( ( ) => {
259268 throw new Error ( 'This section should not have been called.' ) ;
0 commit comments