-
Notifications
You must be signed in to change notification settings - Fork 241
/
test.solution-bundles.js
48 lines (41 loc) · 1.4 KB
/
test.solution-bundles.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// [START fs_bundle_load]
// If you are using module bundlers.
import firebase from "firebase/app";
import "firebase/firestore";
import "firebase/firestore/bundle"; // This line enables bundle loading as a side effect.
// [START_EXCLUDE]
/**
* @type firebase.firestore.Firestore
*/
var db;
// [END_EXCLUDE]
async function fetchFromBundle() {
// Fetch the bundle from Firebase Hosting, if the CDN cache is hit the 'X-Cache'
// response header will be set to 'HIT'
const resp = await fetch('/createBundle');
// Load the bundle contents into the Firestore SDK
await db.loadBundle(resp.body);
// Query the results from the cache
// Note: omitting "source: cache" will query the Firestore backend.
const query = await db.namedQuery('latest-stories-query');
const storiesSnap = await query.get({ source: 'cache' });
// Use the results
// ...
}
// [END fs_bundle_load]
describe("firestore-solution-bundles", () => {
before(() => {
var config = {
apiKey: "AIzaSyArvVh6VSdXicubcvIyuB-GZs8ua0m0DTI",
authDomain: "firestorequickstarts.firebaseapp.com",
projectId: "firestorequickstarts",
};
var app = firebase.initializeApp(config, "solution-bundles");
db = firebase.firestore(app);
});
describe("solution-bundles", () => {
it("should fetch a bundle", (done) => {
fetchFromBundle().finally(done);
});
});
});