1
1
import assert from 'assert' ;
2
- import defaultResolver from '../src/default-resolver' ;
2
+ import defaultResolver , { defaultErrors } from '../src/default-resolver' ;
3
3
4
4
suite ( 'default-resolver-test' , ( ) => {
5
5
test ( 'it resolves a given key' , ( ) => {
6
6
const value = 'a value' ;
7
7
const object = { aKey : value } ;
8
8
const resolve = defaultResolver ( 'aKey' ) ;
9
9
10
- assert . equal ( resolve ( { model : object } ) , value ) ;
10
+ return resolve ( { model : object } ) . then ( ( resolvedValue ) => {
11
+ assert . equal ( resolvedValue , value ) ;
12
+ } ) ;
11
13
} ) ;
12
14
13
15
test ( 'it resolves a given path' , ( ) => {
@@ -23,6 +25,37 @@ suite('default-resolver-test', () => {
23
25
} ;
24
26
const resolve = defaultResolver ( 'refOne.refTwo.refThree.refFour' ) ;
25
27
26
- assert . equal ( resolve ( { model : object } ) , value ) ;
28
+ return resolve ( { model : object } ) . then ( ( resolvedValue ) => {
29
+ assert . equal ( resolvedValue , value ) ;
30
+ } ) ;
31
+ } ) ;
32
+
33
+ test ( 'it rejects with top level errors hash if available' , ( ) => {
34
+ const errors = [
35
+ {
36
+ message : 'an error message'
37
+ }
38
+ ] ;
39
+ const resolve = defaultResolver ( 'node' ) ;
40
+
41
+ return resolve ( { errors} ) . then ( ( ) => {
42
+ assert . ok ( false , 'should not resolve' ) ;
43
+ } ) . catch ( ( resolvedErrors ) => {
44
+ assert . equal ( resolvedErrors , errors ) ;
45
+
46
+ return true ;
47
+ } ) ;
48
+ } ) ;
49
+
50
+ test ( 'it rejects with synthetic errors hash if no top level key available' , ( ) => {
51
+ const resolve = defaultResolver ( 'node' ) ;
52
+
53
+ return resolve ( { } ) . then ( ( ) => {
54
+ assert . ok ( false , 'should not resolve' ) ;
55
+ } ) . catch ( ( resolvedErrors ) => {
56
+ assert . equal ( resolvedErrors , defaultErrors ) ;
57
+
58
+ return true ;
59
+ } ) ;
27
60
} ) ;
28
61
} ) ;
0 commit comments