@@ -43,37 +43,39 @@ describe("projectConfig", () => {
43
43
} ) ;
44
44
45
45
it ( "passes validation for multi-instance config with same source" , ( ) => {
46
- const config = [
46
+ const config : projectConfig . NormalizedConfig = [
47
47
{ source : "foo" , codebase : "bar" } ,
48
48
{ source : "foo" , codebase : "baz" , prefix : "prefix-two" } ,
49
49
] ;
50
- expect ( projectConfig . validate ( config as projectConfig . NormalizedConfig ) ) . to . deep . equal (
51
- config ,
52
- ) ;
50
+ expect ( projectConfig . validate ( config ) ) . to . deep . equal ( config ) ;
53
51
} ) ;
54
52
55
53
it ( "passes validation for multi-instance config with one missing codebase" , ( ) => {
56
- const config = [ { source : "foo" , codebase : "bar" , prefix : "bar-prefix" } , { source : "foo" } ] ;
54
+ const config : projectConfig . NormalizedConfig = [
55
+ { source : "foo" , codebase : "bar" , prefix : "bar-prefix" } ,
56
+ { source : "foo" } ,
57
+ ] ;
57
58
const expected = [
58
59
{ source : "foo" , codebase : "bar" , prefix : "bar-prefix" } ,
59
60
{ source : "foo" , codebase : "default" } ,
60
61
] ;
61
- expect ( projectConfig . validate ( config as projectConfig . NormalizedConfig ) ) . to . deep . equal (
62
- expected ,
63
- ) ;
62
+ expect ( projectConfig . validate ( config ) ) . to . deep . equal ( expected ) ;
64
63
} ) ;
65
64
66
65
it ( "fails validation for multi-instance config with missing codebase and a default codebase" , ( ) => {
67
- const config = [ { source : "foo" , codebase : "default" } , { source : "foo" } ] ;
68
- expect ( ( ) => projectConfig . validate ( config as projectConfig . NormalizedConfig ) ) . to . throw (
66
+ const config : projectConfig . NormalizedConfig = [
67
+ { source : "foo" , codebase : "default" } ,
68
+ { source : "foo" } ,
69
+ ] ;
70
+ expect ( ( ) => projectConfig . validate ( config ) ) . to . throw (
69
71
FirebaseError ,
70
72
/ f u n c t i o n s .c o d e b a s e m u s t b e u n i q u e b u t ' d e f a u l t ' w a s u s e d m o r e t h a n o n c e ./ ,
71
73
) ;
72
74
} ) ;
73
75
74
76
it ( "fails validation for multi-instance config with multiple missing codebases" , ( ) => {
75
- const config = [ { source : "foo" } , { source : "foo" } ] ;
76
- expect ( ( ) => projectConfig . validate ( config as projectConfig . NormalizedConfig ) ) . to . throw (
77
+ const config : projectConfig . NormalizedConfig = [ { source : "foo" } , { source : "foo" } ] ;
78
+ expect ( ( ) => projectConfig . validate ( config ) ) . to . throw (
77
79
FirebaseError ,
78
80
/ f u n c t i o n s .c o d e b a s e m u s t b e u n i q u e b u t ' d e f a u l t ' w a s u s e d m o r e t h a n o n c e ./ ,
79
81
) ;
@@ -119,22 +121,31 @@ describe("projectConfig", () => {
119
121
} ) ;
120
122
121
123
it ( "fails validation given a duplicate source/prefix pair" , ( ) => {
122
- const config = [
124
+ const config : projectConfig . NormalizedConfig = [
123
125
{ source : "foo" , codebase : "bar" , prefix : "a" } ,
124
126
{ source : "foo" , codebase : "baz" , prefix : "a" } ,
125
127
] ;
126
- expect ( ( ) => projectConfig . validate ( config as projectConfig . NormalizedConfig ) ) . to . throw (
128
+ expect ( ( ) => projectConfig . validate ( config ) ) . to . throw (
127
129
FirebaseError ,
128
- / M o r e t h a n o n e f u n c t i o n s c o n f i g s p e c i f i e s t h e s a m e s o u r c e d i r e c t o r y / ,
130
+ / M o r e t h a n o n e f u n c t i o n s c o n f i g s p e c i f i e s t h e s a m e s o u r c e d i r e c t o r y \( ' f o o ' \) a n d p r e f i x \( ' a ' \) / ,
131
+ ) ;
132
+ } ) ;
133
+
134
+ it ( "fails validation for multi-instance config with same source and no prefixes" , ( ) => {
135
+ const config : projectConfig . NormalizedConfig = [
136
+ { source : "foo" , codebase : "bar" } ,
137
+ { source : "foo" , codebase : "baz" } ,
138
+ ] ;
139
+ expect ( ( ) => projectConfig . validate ( config ) ) . to . throw (
140
+ FirebaseError ,
141
+ / M o r e t h a n o n e f u n c t i o n s c o n f i g s p e c i f i e s t h e s a m e s o u r c e d i r e c t o r y \( ' f o o ' \) a n d p r e f i x \( ' ' \) / ,
129
142
) ;
130
143
} ) ;
131
144
132
145
it ( "should allow a single function in an array to have a default codebase" , ( ) => {
133
- const config = [ { source : "foo" } ] ;
146
+ const config : projectConfig . NormalizedConfig = [ { source : "foo" } ] ;
134
147
const expected = [ { source : "foo" , codebase : "default" } ] ;
135
- expect ( projectConfig . validate ( config as projectConfig . NormalizedConfig ) ) . to . deep . equal (
136
- expected ,
137
- ) ;
148
+ expect ( projectConfig . validate ( config ) ) . to . deep . equal ( expected ) ;
138
149
} ) ;
139
150
} ) ;
140
151
0 commit comments