@dereekb/firebase-server 7.12.0 → 7.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ # [7.13.0](https://github.com/dereekb/dbx-components/compare/v7.12.0-dev...v7.13.0) (2022-06-14)
6
+
7
+
8
+ ### Features
9
+
10
+ * added describeCloudFunctionTest() to handle a map of functions ([5545149](https://github.com/dereekb/dbx-components/commit/55451495c305726d89973613d7d5b9a5be9871bc))
11
+
12
+
13
+
5
14
  # [7.12.0](https://github.com/dereekb/dbx-components/compare/v7.11.2-dev...v7.12.0) (2022-06-14)
6
15
 
7
16
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server",
3
- "version": "7.12.0",
3
+ "version": "7.13.0",
4
4
  "devDependencies": {
5
5
  "firebase-functions-test": "2.0.2"
6
6
  },
@@ -20,27 +20,27 @@
20
20
  "typings": "./src/index.d.ts",
21
21
  "dependencies": {},
22
22
  "peerDependencies": {
23
- "@dereekb/firebase": "7.12.0",
23
+ "@dereekb/firebase": "7.13.0",
24
24
  "rxjs": "^7.0.0",
25
25
  "rxfire": "^6.0.3",
26
26
  "firebase": "^9.8.0",
27
- "@dereekb/util": "7.12.0",
27
+ "@dereekb/util": "7.13.0",
28
28
  "make-error": "^1.3.0",
29
29
  "ts-essentials": "^9.1.2",
30
30
  "extra-set": "^2.2.11",
31
- "@dereekb/rxjs": "7.12.0",
31
+ "@dereekb/rxjs": "7.13.0",
32
32
  "ms": "^3.0.0-canary.1",
33
- "@dereekb/model": "7.12.0",
33
+ "@dereekb/model": "7.13.0",
34
34
  "class-transformer": "^0.5.1",
35
35
  "class-validator": "^0.13.2",
36
- "@dereekb/date": "7.12.0",
36
+ "@dereekb/date": "7.13.0",
37
37
  "date-fns": "^2.28.0",
38
38
  "date-fns-tz": "^1.3.0",
39
39
  "rrule": "2.7.0",
40
40
  "firebase-functions": "^3.21.2",
41
41
  "firebase-admin": "^10.3.0",
42
42
  "@nestjs/common": "^8.4.0",
43
- "@dereekb/nestjs": "7.12.0",
43
+ "@dereekb/nestjs": "7.13.0",
44
44
  "@nestjs/config": "^2.0.1",
45
45
  "@google-cloud/firestore": "^4.15.1",
46
46
  "@nestjs/core": "^8.4.0",
package/test/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ # [7.13.0](https://github.com/dereekb/dbx-components/compare/v7.12.0-dev...v7.13.0) (2022-06-14)
6
+
7
+
8
+ ### Features
9
+
10
+ * added describeCloudFunctionTest() to handle a map of functions ([5545149](https://github.com/dereekb/dbx-components/commit/55451495c305726d89973613d7d5b9a5be9871bc))
11
+
12
+
13
+
5
14
  # [7.12.0](https://github.com/dereekb/dbx-components/compare/v7.11.2-dev...v7.12.0) (2022-06-14)
6
15
 
7
16
 
package/test/package.json CHANGED
@@ -1,36 +1,36 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/test",
3
- "version": "7.12.0",
3
+ "version": "7.13.0",
4
4
  "main": "./src/index.js",
5
5
  "typings": "./src/index.d.ts",
6
6
  "dependencies": {},
7
7
  "peerDependencies": {
8
- "@dereekb/firebase": "7.12.0",
8
+ "@dereekb/firebase": "7.13.0",
9
9
  "rxjs": "^7.0.0",
10
10
  "rxfire": "^6.0.3",
11
11
  "firebase": "^9.8.0",
12
- "@dereekb/util": "7.12.0",
12
+ "@dereekb/util": "7.13.0",
13
13
  "make-error": "^1.3.0",
14
14
  "ts-essentials": "^9.1.2",
15
15
  "extra-set": "^2.2.11",
16
- "@dereekb/rxjs": "7.12.0",
16
+ "@dereekb/rxjs": "7.13.0",
17
17
  "ms": "^3.0.0-canary.1",
18
- "@dereekb/model": "7.12.0",
18
+ "@dereekb/model": "7.13.0",
19
19
  "class-transformer": "^0.5.1",
20
20
  "class-validator": "^0.13.2",
21
- "@dereekb/date": "7.12.0",
21
+ "@dereekb/date": "7.13.0",
22
22
  "date-fns": "^2.28.0",
23
23
  "date-fns-tz": "^1.3.0",
24
24
  "rrule": "2.7.0",
25
- "@dereekb/util/test": "7.12.0",
25
+ "@dereekb/util/test": "7.13.0",
26
26
  "firebase-admin": "^10.3.0",
27
27
  "jsonwebtoken": "^8.0.0",
28
28
  "firebase-functions": "^3.21.2",
29
29
  "@nestjs/common": "^8.4.0",
30
30
  "@google-cloud/firestore": "^4.15.1",
31
- "@dereekb/firebase/test": "7.12.0",
32
- "@dereekb/firebase-server": "7.12.0",
33
- "@dereekb/nestjs": "7.12.0",
31
+ "@dereekb/firebase/test": "7.13.0",
32
+ "@dereekb/firebase-server": "7.13.0",
33
+ "@dereekb/nestjs": "7.13.0",
34
34
  "@nestjs/config": "^2.0.1",
35
35
  "@nestjs/core": "^8.4.0",
36
36
  "@nestjs/platform-express": "^8.4.0",
@@ -30,11 +30,11 @@ export declare class ModelTestContextInstance<T, D extends FirestoreDocument<T>
30
30
  /**
31
31
  * authorizedUserContext/authorizedUserContextFactory parameters.
32
32
  */
33
- export interface ModelTestContextFactoryParams<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, C = any, PI extends FirebaseAdminTestContext = FirebaseAdminTestContext, PF extends JestTestContextFixture<PI> = JestTestContextFixture<PI>, I extends ModelTestContextInstance<T, D, PI> = ModelTestContextInstance<T, D, PI>, F extends ModelTestContextFixture<T, D, PI, PF, I> = ModelTestContextFixture<T, D, PI, PF, I>> {
33
+ export interface ModelTestContextFactoryParams<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, C = any, PI extends FirebaseAdminTestContext = FirebaseAdminTestContext, PF extends JestTestContextFixture<PI> = JestTestContextFixture<PI>, I extends ModelTestContextInstance<T, D, PI> = ModelTestContextInstance<T, D, PI>, F extends ModelTestContextFixture<T, D, PI, PF, I> = ModelTestContextFixture<T, D, PI, PF, I>, CL extends FirestoreCollection<T, D> = FirestoreCollection<T, D>> {
34
34
  /**
35
35
  * Creates a ModelTestContextInstanceDelegate from the parent instance.
36
36
  */
37
- getCollection: (parentInstance: PI, config: C) => FirestoreCollection<T, D>;
37
+ getCollection: (parentInstance: PI, config: C) => CL;
38
38
  /**
39
39
  * Creates the custom fixture. If not defined, a ModelTestContextFixture is created.
40
40
  */
@@ -42,11 +42,11 @@ export interface ModelTestContextFactoryParams<T, D extends FirestoreDocument<T>
42
42
  /**
43
43
  * Optional function to create a DocumentReference.
44
44
  */
45
- makeRef?: (collection: FirestoreCollection<T, D>, config: C, parentInstance: PI) => Promise<DocumentReference<T>>;
45
+ makeRef?: (collection: CL, config: C, parentInstance: PI) => Promise<DocumentReference<T>>;
46
46
  /**
47
47
  * Custom make instance function. If not defined, a ModelTestContextInstance will be generated.
48
48
  */
49
- makeInstance?: (collection: FirestoreCollection<T, D>, ref: DocumentReference<T>, testInstance: PI) => PromiseOrValue<I>;
49
+ makeInstance?: (collection: CL, ref: DocumentReference<T>, testInstance: PI) => PromiseOrValue<I>;
50
50
  /**
51
51
  * Optional function to initialize the document for this instance.
52
52
  */
@@ -58,4 +58,4 @@ export declare type ModelTestContextParams<C = any, PI extends FirebaseAdminTest
58
58
  /**
59
59
  * Creates a new Jest Context that has a random user for authorization for use in firebase server tests.
60
60
  */
61
- export declare function modelTestContextFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, C = any, PI extends FirebaseAdminTestContext = FirebaseAdminTestContext, PF extends JestTestContextFixture<PI> = JestTestContextFixture<PI>, I extends ModelTestContextInstance<T, D, PI> = ModelTestContextInstance<T, D, PI>, F extends ModelTestContextFixture<T, D, PI, PF, I> = ModelTestContextFixture<T, D, PI, PF, I>>(config: ModelTestContextFactoryParams<T, D, C, PI, PF, I, F>): (params: ModelTestContextParams<C, PI, PF>, buildTests: (u: F) => void) => void;
61
+ export declare function modelTestContextFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, C = any, PI extends FirebaseAdminTestContext = FirebaseAdminTestContext, PF extends JestTestContextFixture<PI> = JestTestContextFixture<PI>, I extends ModelTestContextInstance<T, D, PI> = ModelTestContextInstance<T, D, PI>, F extends ModelTestContextFixture<T, D, PI, PF, I> = ModelTestContextFixture<T, D, PI, PF, I>, CL extends FirestoreCollection<T, D> = FirestoreCollection<T, D>>(config: ModelTestContextFactoryParams<T, D, C, PI, PF, I, F, CL>): (params: ModelTestContextParams<C, PI, PF>, buildTests: (u: F) => void) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"firebase.admin.collection.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.collection.ts"],"names":[],"mappings":";;;;AAEA,6CAAwH;AAaxH,MAAa,uBAAyS,SAAQ,0CAA0C;IACtW,qCAAqC;IACrC,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;IAClC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACnC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACnC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAChC,CAAC;CACF;AAjBD,0DAiBC;AAED,MAAa,wBAAwB;IACnC,YAAqB,UAAqC,EAAW,GAAyB,EAAW,WAAe;QAAnG,eAAU,GAAV,UAAU,CAA2B;QAAW,QAAG,GAAH,GAAG,CAAsB;QAAW,gBAAW,GAAX,WAAW,CAAI;IAAG,CAAC;IAE5H,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;CACF;AAlBD,4DAkBC;AAkCD;;GAEG;AACH,SAAgB,uBAAuB,CACrC,MAA4D;IAE5D,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,YAAY,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,IAAI,wBAAwB,CAAC,UAAU,EAAE,GAAG,EAAE,YAAY,CAAM,EAAE,WAAW,GAAG,CAAC,CAAK,EAAE,EAAE,CAAC,IAAI,uBAAuB,CAAkB,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IAEhU,OAAO,CAAC,MAAyC,EAAE,UAA0B,EAAE,EAAE;QAC/E,MAAM,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC;QACrB,OAAO,IAAA,4BAAqB,EAAO;YACjC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAM;YAC5B,UAAU;YACV,YAAY,EAAE,GAAS,EAAE;gBACvB,MAAM,cAAc,GAAG,CAAC,CAAC,QAAQ,CAAC;gBAClC,MAAM,UAAU,GAAG,aAAa,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;gBACzD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;gBAC9D,MAAM,QAAQ,GAAM,MAAM,YAAY,CAAC,UAAU,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;gBAExE,IAAI,YAAY,EAAE;oBAChB,MAAM,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;iBACtC;gBAED,OAAO,QAAQ,CAAC;YAClB,CAAC,CAAA;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAxBD,0DAwBC"}
1
+ {"version":3,"file":"firebase.admin.collection.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.collection.ts"],"names":[],"mappings":";;;;AAEA,6CAAwH;AAaxH,MAAa,uBAAyS,SAAQ,0CAA0C;IACtW,qCAAqC;IACrC,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;IAClC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACnC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACnC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAChC,CAAC;CACF;AAjBD,0DAiBC;AAED,MAAa,wBAAwB;IACnC,YAAqB,UAAqC,EAAW,GAAyB,EAAW,WAAe;QAAnG,eAAU,GAAV,UAAU,CAA2B;QAAW,QAAG,GAAH,GAAG,CAAsB;QAAW,gBAAW,GAAX,WAAW,CAAI;IAAG,CAAC;IAE5H,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;CACF;AAlBD,4DAkBC;AAkCD;;GAEG;AACH,SAAgB,uBAAuB,CACrC,MAAgE;IAEhE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,YAAY,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,IAAI,wBAAwB,CAAC,UAAU,EAAE,GAAG,EAAE,YAAY,CAAM,EAAE,WAAW,GAAG,CAAC,CAAK,EAAE,EAAE,CAAC,IAAI,uBAAuB,CAAkB,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IAEhU,OAAO,CAAC,MAAyC,EAAE,UAA0B,EAAE,EAAE;QAC/E,MAAM,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC;QACrB,OAAO,IAAA,4BAAqB,EAAO;YACjC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAM;YAC5B,UAAU;YACV,YAAY,EAAE,GAAS,EAAE;gBACvB,MAAM,cAAc,GAAG,CAAC,CAAC,QAAQ,CAAC;gBAClC,MAAM,UAAU,GAAG,aAAa,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;gBACzD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;gBAC9D,MAAM,QAAQ,GAAM,MAAM,YAAY,CAAC,UAAU,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;gBAExE,IAAI,YAAY,EAAE;oBAChB,MAAM,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;iBACtC;gBAED,OAAO,QAAQ,CAAC;YAClB,CAAC,CAAA;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAxBD,0DAwBC"}
@@ -1,17 +1,33 @@
1
1
  import { NestApplicationRunnableHttpFunctionFactory } from '@dereekb/firebase-server';
2
2
  import { FirebaseAdminFunctionNestTestContext } from './firebase.admin.nest.function';
3
3
  import { WrappedCloudFunctionV1 } from './firebase.function';
4
- export interface CloudFunctionTestConfig<I> {
4
+ export interface CloudFunctionTestBaseConfig {
5
5
  f: FirebaseAdminFunctionNestTestContext;
6
+ }
7
+ export interface CloudFunctionTestSingleConfig<I> extends CloudFunctionTestBaseConfig {
6
8
  fn: NestApplicationRunnableHttpFunctionFactory<I>;
7
9
  }
10
+ export declare type CloudFunctionTestSingleFunction<I> = (fn: WrappedCloudFunctionV1<I>) => void;
11
+ export declare type CloudFunctionTestConfigMapObject = {
12
+ [key: string]: NestApplicationRunnableHttpFunctionFactory<any>;
13
+ };
14
+ export interface CloudFunctionTestMultipleConfig<I, T extends CloudFunctionTestConfigMapObject> extends CloudFunctionTestBaseConfig {
15
+ fns: T;
16
+ }
17
+ export declare type CloudFunctionTestMultipleFixture<T extends CloudFunctionTestConfigMapObject> = {
18
+ [K in keyof T as K extends string ? `${K}CloudFn` : never]: T[K] extends NestApplicationRunnableHttpFunctionFactory<infer I> ? WrappedCloudFunctionV1<I> : never;
19
+ };
20
+ export declare type CloudFunctionTestMultipleFunction<T extends CloudFunctionTestConfigMapObject> = (fn: CloudFunctionTestMultipleFixture<T>) => void;
21
+ export declare function isCloudFunctionTestSingleConfig<I, T extends CloudFunctionTestConfigMapObject>(config: CloudFunctionTestSingleConfig<I> | CloudFunctionTestMultipleConfig<I, T>): config is CloudFunctionTestSingleConfig<I>;
8
22
  /**
9
23
  * Used to provide a test builder that exposes a WrappedCloudFunction using the input configuration.
10
24
  *
11
25
  * @param config
12
26
  * @param buildTests
13
27
  */
14
- export declare function cloudFunctionTest<I>(config: CloudFunctionTestConfig<I>, buildTests: (fn: WrappedCloudFunctionV1<I>) => void): void;
28
+ export declare function cloudFunctionTest<I, T extends CloudFunctionTestConfigMapObject>(config: CloudFunctionTestMultipleConfig<I, T>, buildTests: CloudFunctionTestMultipleFunction<T>): void;
29
+ export declare function cloudFunctionTest<I>(config: CloudFunctionTestSingleConfig<I>, buildTests: CloudFunctionTestSingleFunction<I>): void;
30
+ export declare function cloudFunctionTest<I, T extends CloudFunctionTestConfigMapObject>(config: CloudFunctionTestSingleConfig<I> | CloudFunctionTestMultipleConfig<I, T>, buildTests: CloudFunctionTestSingleFunction<I> | CloudFunctionTestMultipleFunction<T>): void;
15
31
  /**
16
32
  * Convenience function that calls describe and cloudFunctionContext together.
17
33
  *
@@ -19,4 +35,6 @@ export declare function cloudFunctionTest<I>(config: CloudFunctionTestConfig<I>,
19
35
  * @param config
20
36
  * @param buildTests
21
37
  */
22
- export declare function describeCloudFunctionTest<I>(label: string, config: CloudFunctionTestConfig<I>, buildTests: (fn: WrappedCloudFunctionV1<I>) => void): void;
38
+ export declare function describeCloudFunctionTest<I, T extends CloudFunctionTestConfigMapObject>(label: string, config: CloudFunctionTestMultipleConfig<I, T>, buildTests: CloudFunctionTestMultipleFunction<T>): void;
39
+ export declare function describeCloudFunctionTest<I>(clabel: string, onfig: CloudFunctionTestSingleConfig<I>, buildTests: CloudFunctionTestSingleFunction<I>): void;
40
+ export declare function describeCloudFunctionTest<I, T extends CloudFunctionTestConfigMapObject>(label: string, config: CloudFunctionTestSingleConfig<I> | CloudFunctionTestMultipleConfig<I, T>, buildTests: CloudFunctionTestSingleFunction<I> | CloudFunctionTestMultipleFunction<T>): void;
@@ -1,31 +1,37 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.describeCloudFunctionTest = exports.cloudFunctionTest = void 0;
3
+ exports.describeCloudFunctionTest = exports.cloudFunctionTest = exports.isCloudFunctionTestSingleConfig = void 0;
4
4
  const test_1 = require("@dereekb/util/test");
5
5
  const firebase_admin_nest_function_1 = require("./firebase.admin.nest.function");
6
- /**
7
- * Used to provide a test builder that exposes a WrappedCloudFunction using the input configuration.
8
- *
9
- * @param config
10
- * @param buildTests
11
- */
6
+ const util_1 = require("@dereekb/util");
7
+ function isCloudFunctionTestSingleConfig(config) {
8
+ const isSingle = Boolean(config.fn);
9
+ return isSingle;
10
+ }
11
+ exports.isCloudFunctionTestSingleConfig = isCloudFunctionTestSingleConfig;
12
12
  function cloudFunctionTest(config, buildTests) {
13
- const { f, fn } = config;
14
- (0, test_1.useJestFunctionFixture)({
15
- fn: () => {
16
- const x = (0, firebase_admin_nest_function_1.wrapCloudFunctionForNestTestsGetter)(f, fn)();
17
- return x;
18
- }
19
- }, buildTests);
13
+ if (isCloudFunctionTestSingleConfig(config)) {
14
+ const { f, fn } = config;
15
+ (0, test_1.useJestFunctionFixture)({
16
+ fn: () => {
17
+ const x = (0, firebase_admin_nest_function_1.wrapCloudFunctionForNestTestsGetter)(f, fn)();
18
+ return x;
19
+ }
20
+ }, buildTests);
21
+ }
22
+ else {
23
+ const { f, fns: inputFns } = config;
24
+ const mappedFns = (0, util_1.mapObjectMap)(inputFns, (fn) => () => (0, firebase_admin_nest_function_1.wrapCloudFunctionForNestTestsGetter)(f, fn)());
25
+ const fns = {};
26
+ Object.keys(mappedFns).forEach((key) => {
27
+ fns[`${key}CloudFn`] = mappedFns[key];
28
+ });
29
+ (0, test_1.useJestFunctionMapFixture)({
30
+ fns
31
+ }, buildTests);
32
+ }
20
33
  }
21
34
  exports.cloudFunctionTest = cloudFunctionTest;
22
- /**
23
- * Convenience function that calls describe and cloudFunctionContext together.
24
- *
25
- * @param label
26
- * @param config
27
- * @param buildTests
28
- */
29
35
  function describeCloudFunctionTest(label, config, buildTests) {
30
36
  describe(label, () => {
31
37
  cloudFunctionTest(config, buildTests);
@@ -1 +1 @@
1
- {"version":3,"file":"firebase.admin.nest.function.context.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.nest.function.context.ts"],"names":[],"mappings":";;;AAAA,6CAA4D;AAE5D,iFAA2H;AAS3H;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAI,MAAkC,EAAE,UAAmD;IAC1H,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;IAEzB,IAAA,6BAAsB,EACpB;QACE,EAAE,EAAE,GAAG,EAAE;YACP,MAAM,CAAC,GAAG,IAAA,kEAAmC,EAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACvD,OAAO,CAAC,CAAC;QACX,CAAC;KACF,EACD,UAAU,CACX,CAAC;AACJ,CAAC;AAZD,8CAYC;AAED;;;;;;GAMG;AACH,SAAgB,yBAAyB,CAAI,KAAa,EAAE,MAAkC,EAAE,UAAmD;IACjJ,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;QACnB,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAJD,8DAIC;AAED,WAAW;AACX,OAAO"}
1
+ {"version":3,"file":"firebase.admin.nest.function.context.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.nest.function.context.ts"],"names":[],"mappings":";;;AAAA,6CAAuF;AAEvF,iFAA2H;AAE3H,wCAA6C;AA2B7C,SAAgB,+BAA+B,CAAgD,MAAgF;IAC7K,MAAM,QAAQ,GAAG,OAAO,CAAE,MAA2C,CAAC,EAAE,CAAC,CAAC;IAC1E,OAAO,QAAQ,CAAC;AAClB,CAAC;AAHD,0EAGC;AAWD,SAAgB,iBAAiB,CAAgD,MAAgF,EAAE,UAAqF;IACtP,IAAI,+BAA+B,CAAC,MAAM,CAAC,EAAE;QAC3C,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;QACzB,IAAA,6BAAsB,EACpB;YACE,EAAE,EAAE,GAAG,EAAE;gBACP,MAAM,CAAC,GAAG,IAAA,kEAAmC,EAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBACvD,OAAO,CAAC,CAAC;YACX,CAAC;SACF,EACD,UAAgD,CACjD,CAAC;KACH;SAAM;QACL,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QACpC,MAAM,SAAS,GAAG,IAAA,mBAAY,EAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,IAAA,kEAAmC,EAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACrG,MAAM,GAAG,GAAQ,EAAE,CAAC;QAEpB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACrC,GAAG,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,IAAA,gCAAyB,EACvB;YACE,GAAG;SACJ,EACD,UAAiB,CAClB,CAAC;KACH;AACH,CAAC;AA5BD,8CA4BC;AAYD,SAAgB,yBAAyB,CAAgD,KAAa,EAAE,MAAgF,EAAE,UAAqF;IAC7Q,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;QACnB,iBAAiB,CAAO,MAAM,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC;AAJD,8DAIC;AAED,WAAW;AACX,OAAO"}