Skip to content

Commit f4fc618

Browse files
committed
refactor(database): refactor query.test.ts to better preserve original test meaning
1 parent c81583d commit f4fc618

File tree

6 files changed

+526
-290
lines changed

6 files changed

+526
-290
lines changed

tests/database/database.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import firebase from "../../src/app";
33
import {
44
TEST_PROJECT,
55
patchFakeAuthFunctions,
6-
} from "./helpers";
6+
} from "./helpers/util";
77
import "../../src/database";
88

99
describe('Database Tests', function() {

tests/database/datasnapshot.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { expect } from "chai";
22
import { nodeFromJSON } from "../../src/database/core/snap/nodeFromJSON";
33
import { PRIORITY_INDEX } from "../../src/database/core/snap/indexes/PriorityIndex";
4-
import { getRandomNode } from "./helpers";
4+
import { getRandomNode } from "./helpers/util";
55
import { DataSnapshot } from "../../src/database/api/DataSnapshot";
66
import { Reference } from "../../src/database/api/Reference";
77

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
export class EventAccumulator {
2+
public eventData = [];
3+
public promise;
4+
public resolve;
5+
public reject;
6+
constructor(private expectedEvents: number) {
7+
if (!this.expectedEvents) throw new Error('EventAccumulator:You must pass a number of expected events to the constructor');
8+
this.promise = new Promise((resolve, reject) => {
9+
this.resolve = resolve;
10+
this.reject = reject;
11+
});
12+
}
13+
addEvent(eventData?: any) {
14+
this.eventData = [
15+
...this.eventData,
16+
eventData
17+
];
18+
if (this.eventData.length >= this.expectedEvents) {
19+
this.resolve(this.eventData);
20+
}
21+
}
22+
reset(expectedEvents?: number) {
23+
this.expectedEvents = expectedEvents || this.expectedEvents;
24+
this.eventData = [];
25+
this.promise = new Promise((resolve, reject) => {
26+
this.resolve = resolve;
27+
this.reject = reject;
28+
});
29+
}
30+
}

tests/database/helpers.ts renamed to tests/database/helpers/util.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import firebase from "../../src/app";
2-
import '../../src/database';
3-
import { Reference } from "../../src/database/api/Reference";
4-
import { Query } from "../../src/database/api/Query";
1+
import firebase from "../../../src/app";
2+
import '../../../src/database';
3+
import { Reference } from "../../../src/database/api/Reference";
4+
import { Query } from "../../../src/database/api/Query";
55
import { expect } from "chai";
66

7-
export const TEST_PROJECT = require('../config/project.json');
7+
export const TEST_PROJECT = require('../../config/project.json');
88

99
var qs = {};
1010
if ('location' in this) {

0 commit comments

Comments
 (0)