@@ -52,6 +52,21 @@ describe(resolveEndpoint.name, () => {
52
52
jest . resetAllMocks ( ) ;
53
53
} ) ;
54
54
55
+ it ( "should use the default value if a parameter is not set" , ( ) => {
56
+ const { paramWithDefaultKey : ignored , ...endpointParamsWithoutDefault } = mockEndpointParams ;
57
+
58
+ const resolvedEndpoint = resolveEndpoint ( mockRuleSetObject , { endpointParams : endpointParamsWithoutDefault } ) ;
59
+ expect ( resolvedEndpoint ) . toEqual ( mockResolvedEndpoint ) ;
60
+
61
+ expect ( evaluateRules ) . toHaveBeenCalledWith ( mockRules , {
62
+ endpointParams : {
63
+ ...mockEndpointParams ,
64
+ [ paramWithDefaultKey ] : mockRuleSetParameters [ paramWithDefaultKey ] . default ,
65
+ } ,
66
+ referenceRecord : { } ,
67
+ } ) ;
68
+ } ) ;
69
+
55
70
it ( "should throw an error if a required parameter is missing" , ( ) => {
56
71
const { requiredParamKey : ignored , ...endpointParamsWithoutRequired } = mockEndpointParams ;
57
72
expect ( ( ) => resolveEndpoint ( mockRuleSetObject , { endpointParams : endpointParamsWithoutRequired } ) ) . toThrow (
@@ -60,16 +75,29 @@ describe(resolveEndpoint.name, () => {
60
75
expect ( evaluateRules ) . not . toHaveBeenCalled ( ) ;
61
76
} ) ;
62
77
63
- it ( "should use the default value if a parameter is not set" , ( ) => {
64
- const { paramWithDefaultKey : ignored , ...endpointParamsWithoutDefault } = mockEndpointParams ;
78
+ it ( "should not throw an error if a default value is available for required parameter" , ( ) => {
79
+ const { requiredParamKey : ignored , ...endpointParamsWithoutRequired } = mockEndpointParams ;
80
+ const requiredParamDefaultValue = "requiredParamDefaultValue" ;
65
81
66
- const resolvedEndpoint = resolveEndpoint ( mockRuleSetObject , { endpointParams : endpointParamsWithoutDefault } ) ;
82
+ const resolvedEndpoint = resolveEndpoint (
83
+ {
84
+ ...mockRuleSetObject ,
85
+ parameters : {
86
+ ...mockRuleSetParameters ,
87
+ [ requiredParamKey ] : {
88
+ ...mockRuleSetParameters [ requiredParamKey ] ,
89
+ default : requiredParamDefaultValue ,
90
+ } ,
91
+ } ,
92
+ } ,
93
+ { endpointParams : endpointParamsWithoutRequired }
94
+ ) ;
67
95
expect ( resolvedEndpoint ) . toEqual ( mockResolvedEndpoint ) ;
68
96
69
97
expect ( evaluateRules ) . toHaveBeenCalledWith ( mockRules , {
70
98
endpointParams : {
71
99
...mockEndpointParams ,
72
- [ paramWithDefaultKey ] : mockRuleSetParameters [ paramWithDefaultKey ] . default ,
100
+ [ requiredParamKey ] : requiredParamDefaultValue ,
73
101
} ,
74
102
referenceRecord : { } ,
75
103
} ) ;
0 commit comments