@@ -2,8 +2,8 @@ import { FirebaseApp } from '@firebase/app-types';
2
2
import { Observable } from 'rxjs/Observable'
3
3
import { forkJoin } from 'rxjs/observable/forkJoin' ;
4
4
import { TestBed , inject } from '@angular/core/testing' ;
5
- import { FirebaseAppConfig , AngularFireModule } from 'angularfire2' ;
6
- import { AngularFireStorageModule , AngularFireStorage , AngularFireUploadTask } from 'angularfire2/storage' ;
5
+ import { FirebaseAppConfig , AngularFireModule , FirebaseAppName } from 'angularfire2' ;
6
+ import { AngularFireStorageModule , AngularFireStorage , AngularFireUploadTask , StorageBucket } from 'angularfire2/storage' ;
7
7
import { COMMON_CONFIG } from './test-config' ;
8
8
9
9
describe ( 'AngularFireStorage' , ( ) => {
@@ -116,3 +116,54 @@ describe('AngularFireStorage', () => {
116
116
} ) ;
117
117
118
118
} ) ;
119
+
120
+ const FIREBASE_APP_NAME_TOO = ( Math . random ( ) + 1 ) . toString ( 36 ) . substring ( 7 ) ;
121
+ const FIREBASE_STORAGE_BUCKET = `gs://test-${ ( Math . random ( ) + 1 ) . toString ( 36 ) . substring ( 7 ) } /` ;
122
+
123
+ describe ( 'AngularFireStorage w/options' , ( ) => {
124
+ let app : FirebaseApp ;
125
+ let afStorage : AngularFireStorage ;
126
+
127
+ beforeEach ( ( ) => {
128
+ TestBed . configureTestingModule ( {
129
+ imports : [
130
+ AngularFireModule . initializeApp ( COMMON_CONFIG ) ,
131
+ AngularFireStorageModule
132
+ ] ,
133
+ providers : [
134
+ { provide : FirebaseAppName , useValue : FIREBASE_APP_NAME_TOO } ,
135
+ { provide : FirebaseAppConfig , useValue : COMMON_CONFIG } ,
136
+ { provide : StorageBucket , useValue : FIREBASE_STORAGE_BUCKET }
137
+ ]
138
+ } ) ;
139
+ inject ( [ FirebaseApp , AngularFireStorage ] , ( app_ : FirebaseApp , _storage : AngularFireStorage ) => {
140
+ app = app_ ;
141
+ afStorage = _storage ;
142
+ } ) ( ) ;
143
+ } ) ;
144
+
145
+ afterEach ( done => {
146
+ app . delete ( ) . then ( done , done . fail ) ;
147
+ } ) ;
148
+
149
+ describe ( '<constructor>' , ( ) => {
150
+
151
+ it ( 'should exist' , ( ) => {
152
+ expect ( afStorage instanceof AngularFireStorage ) . toBe ( true ) ;
153
+ } ) ;
154
+
155
+ it ( 'should have the Firebase storage instance' , ( ) => {
156
+ expect ( afStorage . storage ) . toBeDefined ( ) ;
157
+ } ) ;
158
+
159
+ it ( 'should be hooked up the right app' , ( ) => {
160
+ expect ( afStorage . storage . app . name ) . toEqual ( FIREBASE_APP_NAME_TOO ) ;
161
+ } ) ;
162
+
163
+ it ( 'should be pointing towards a different bucket' , ( ) => {
164
+ expect ( afStorage . storage . ref ( ) . toString ( ) ) . toEqual ( FIREBASE_STORAGE_BUCKET ) ;
165
+ } ) ;
166
+
167
+ } ) ;
168
+
169
+ } ) ;
0 commit comments