@@ -127,48 +127,112 @@ describe('Helpers:', () => {
127127 . equal ( exampleData . data [ path ] )
128128 } )
129129
130- it ( 'populates child' , ( ) => {
131- const path = 'projects'
132- const rootName = 'users'
133- const valName = 'CDF'
134- expect ( helpers . populatedDataToJS ( exampleState , path , [ { child : 'owner' , root : rootName } ] ) [ valName ] . owner )
135- . to
136- . have
137- . property ( 'displayName' , 'scott' )
138- } )
130+ describe ( 'single' , ( ) => {
131+ describe ( 'single param' , ( ) => {
132+ it ( 'populates value' , ( ) => {
133+ const path = 'projects/CDF'
134+ const rootName = 'users'
135+ console . log ( '--------' , helpers . populatedDataToJS ( exampleState , path , [ { child : 'owner' , root : rootName } ] ) . owner )
136+ expect ( helpers . populatedDataToJS ( exampleState , path , [ { child : 'owner' , root : rootName } ] ) . owner )
137+ . to
138+ . have
139+ . property ( 'displayName' , 'scott' )
140+ } )
141+
142+ it ( 'populates childParam' , ( ) => {
143+ const path = 'projects/CDF'
144+ const rootName = 'users'
145+ expect ( helpers . populatedDataToJS ( exampleState , path , [ { child : 'owner' , root : rootName , childParam : 'displayName' } ] ) . owner )
146+ . to
147+ . have
148+ . equal ( 'scott' )
149+ } )
150+ it ( 'keeps non-existant children' , ( ) => {
151+ const path = 'projects/OKF'
152+ const rootName = 'users'
153+ expect ( helpers . populatedDataToJS ( exampleState , path , [ { child : 'owner' , root : rootName } ] ) . owner )
154+ . to
155+ . have
156+ . equal ( 'asdfasdf' )
157+ } )
158+ } )
159+ describe ( 'list param' , ( ) => {
160+ it ( 'populates values' , ( ) => {
161+ const path = 'projects/OKF'
162+ const rootName = 'users'
163+ const populates = [
164+ { child : 'collaborators' , root : rootName } ,
165+ ]
166+ const populatedData = helpers . populatedDataToJS ( exampleState , path , populates )
167+ expect ( populatedData )
168+ . to
169+ . have
170+ . deep
171+ . property ( `collaborators.ABC.displayName` , exampleData . data [ rootName ] . ABC . displayName )
172+ } )
173+ } )
139174
140- it ( 'populates child list' , ( ) => {
141- const path = 'projects'
142- const rootName = 'users'
143- const valName = 'OKF'
144- const populates = [
145- { child : 'collaborators' , root : rootName } ,
146- ]
147- const populatedData = helpers . populatedDataToJS ( exampleState , path , populates )
148- expect ( populatedData )
149- . to
150- . have
151- . deep
152- . property ( `${ valName } .collaborators.ABC.displayName` , exampleData . data [ rootName ] . ABC . displayName )
153175 } )
154176
155- it ( 'handles non existant children' , ( ) => {
156- const path = 'projects'
157- const rootName = 'users'
158- const valName = 'OKF'
159- const populates = [
160- { child : 'collaborators' , root : rootName } ,
161- ]
162- expect ( helpers . populatedDataToJS ( exampleState , path , populates ) )
163- . to
164- . have
165- . deep
166- . property ( `${ valName } .collaborators.abc` , true )
167- expect ( helpers . populatedDataToJS ( exampleState , path , populates ) )
168- . to
169- . have
170- . deep
171- . property ( `${ valName } .collaborators.ABC.displayName` , exampleData . data [ rootName ] . ABC . displayName )
177+ describe ( 'list' , ( ) => {
178+
179+ describe ( 'single param' , ( ) => {
180+ it ( 'populates value' , ( ) => {
181+ const path = 'projects'
182+ const rootName = 'users'
183+ const valName = 'CDF'
184+ expect ( helpers . populatedDataToJS ( exampleState , path , [ { child : 'owner' , root : rootName } ] ) [ valName ] . owner )
185+ . to
186+ . have
187+ . property ( 'displayName' , 'scott' )
188+ } )
189+
190+ it ( 'populates childParam' , ( ) => {
191+ const path = 'projects'
192+ const rootName = 'users'
193+ const valName = 'CDF'
194+ expect ( helpers . populatedDataToJS ( exampleState , path , [ { child : 'owner' , root : rootName , childParam : 'displayName' } ] ) [ valName ] . owner )
195+ . to
196+ . have
197+ . equal ( 'scott' )
198+ } )
199+ } )
200+
201+ describe ( 'list param' , ( ) => {
202+ it ( 'populates values' , ( ) => {
203+ const path = 'projects'
204+ const rootName = 'users'
205+ const valName = 'OKF'
206+ const populates = [
207+ { child : 'collaborators' , root : rootName } ,
208+ ]
209+ const populatedData = helpers . populatedDataToJS ( exampleState , path , populates )
210+ expect ( populatedData )
211+ . to
212+ . have
213+ . deep
214+ . property ( `${ valName } .collaborators.ABC.displayName` , exampleData . data [ rootName ] . ABC . displayName )
215+ } )
216+
217+ it ( 'keeps non-existant children' , ( ) => {
218+ const path = 'projects'
219+ const rootName = 'users'
220+ const valName = 'OKF'
221+ const populates = [
222+ { child : 'collaborators' , root : rootName } ,
223+ ]
224+ expect ( helpers . populatedDataToJS ( exampleState , path , populates ) )
225+ . to
226+ . have
227+ . deep
228+ . property ( `${ valName } .collaborators.abc` , true )
229+ expect ( helpers . populatedDataToJS ( exampleState , path , populates ) )
230+ . to
231+ . have
232+ . deep
233+ . property ( `${ valName } .collaborators.ABC.displayName` , exampleData . data [ rootName ] . ABC . displayName )
234+ } )
235+ } )
172236 } )
173237
174238 it ( 'populates multiple children' , ( ) => {
@@ -179,6 +243,7 @@ describe('Helpers:', () => {
179243 { child : 'owner' , root : rootName } ,
180244 { child : 'collaborators' , root : rootName } ,
181245 ]
246+ // TODO: Test both children are populated
182247 expect ( helpers . populatedDataToJS ( exampleState , path , populates ) )
183248 . to
184249 . have
@@ -223,6 +288,10 @@ describe('Helpers:', () => {
223288 it ( 'returns true when is loaded' , ( ) => {
224289 expect ( helpers . isLoaded ( 'some' ) ) . to . be . true
225290 } )
291+
292+ it ( 'returns false when on argument is not loaded' , ( ) => {
293+ expect ( helpers . isLoaded ( undefined , { } ) ) . to . be . false
294+ } )
226295 } )
227296
228297 describe ( 'isEmpty' , ( ) => {
0 commit comments