Skip to content

Commit c1a681c

Browse files
authored
test: split integration tests (@fehmer) (monkeytypegame#6807)
- **trigger** - **test: split integration tests (@fehmer)**
1 parent dd55a72 commit c1a681c

22 files changed

+321
-172
lines changed

backend/__tests__/__migration__/testActivity.spec.ts renamed to backend/__tests__/__integration__/__migration__/testActivity.spec.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
import * as Migration from "../../__migration__/testActivity";
2-
import * as UserTestData from "../__testData__/users";
3-
import * as UserDal from "../../src/dal/user";
4-
import * as ResultDal from "../../src/dal/result";
5-
import { DBResult } from "../../src/utils/result";
1+
import * as Migration from "../../../__migration__/testActivity";
2+
import * as UserTestData from "../../__testData__/users";
3+
import * as UserDal from "../../../src/dal/user";
4+
import * as ResultDal from "../../../src/dal/result";
5+
import { DBResult } from "../../../src/utils/result";
6+
import { describeIntegration } from "..";
67

7-
describe("testActivity migration", () => {
8+
describeIntegration()("testActivity migration", () => {
89
it("migrates users without results", async () => {
910
//given
1011
const user1 = await UserTestData.createUser();

backend/__tests__/dal/admin-uids.spec.ts renamed to backend/__tests__/__integration__/dal/admin-uids.spec.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import { ObjectId } from "mongodb";
2-
import * as AdminUidsDal from "../../src/dal/admin-uids";
2+
import * as AdminUidsDal from "../../../src/dal/admin-uids";
3+
import { describeIntegration } from "..";
34

4-
describe("AdminUidsDal", () => {
5+
describeIntegration()("AdminUidsDal", () => {
56
describe("isAdmin", () => {
67
it("should return true for existing admin user", async () => {
78
//GIVEN

backend/__tests__/dal/ape-keys.spec.ts renamed to backend/__tests__/__integration__/dal/ape-keys.spec.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import { ObjectId } from "mongodb";
2-
import { addApeKey } from "../../src/dal/ape-keys";
2+
import { addApeKey } from "../../../src/dal/ape-keys";
3+
import { describeIntegration } from "..";
34

4-
describe("ApeKeysDal", () => {
5+
describeIntegration()("ApeKeysDal", () => {
56
it("should be able to add a new ape key", async () => {
67
const apeKey = {
78
_id: new ObjectId(),

backend/__tests__/dal/blocklist.spec.ts renamed to backend/__tests__/__integration__/dal/blocklist.spec.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import { ObjectId } from "mongodb";
2-
import * as BlacklistDal from "../../src/dal/blocklist";
2+
import * as BlacklistDal from "../../../src/dal/blocklist";
3+
import { describeIntegration } from "..";
34

4-
describe("BlocklistDal", () => {
5+
describeIntegration()("BlocklistDal", () => {
56
describe("add", () => {
67
beforeEach(() => {
78
vitest.useFakeTimers();

backend/__tests__/dal/leaderboards.spec.ts renamed to backend/__tests__/__integration__/dal/leaderboards.spec.ts

Lines changed: 10 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
import _ from "lodash";
22
import { ObjectId } from "mongodb";
3-
import * as UserDal from "../../src/dal/user";
4-
import * as LeaderboardsDal from "../../src/dal/leaderboards";
5-
import * as PublicDal from "../../src/dal/public";
6-
import * as Configuration from "../../src/init/configuration";
7-
import type { DBLeaderboardEntry } from "../../src/dal/leaderboards";
3+
import * as UserDal from "../../../src/dal/user";
4+
import * as LeaderboardsDal from "../../../src/dal/leaderboards";
5+
import * as PublicDal from "../../../src/dal/public";
6+
import * as Configuration from "../../../src/init/configuration";
7+
import type { DBLeaderboardEntry } from "../../../src/dal/leaderboards";
88
import type { PersonalBest } from "@monkeytype/schemas/shared";
99
const configuration = Configuration.getCachedConfiguration();
1010

11-
import * as DB from "../../src/init/db";
12-
import { LbPersonalBests } from "../../src/utils/pb";
11+
import * as DB from "../../../src/init/db";
12+
import { LbPersonalBests } from "../../../src/utils/pb";
13+
import { describeIntegration } from "..";
14+
import { pb } from "../../__testData__/users";
1315

14-
describe("LeaderboardsDal", () => {
16+
describeIntegration()("LeaderboardsDal", () => {
1517
describe("update", () => {
1618
it("should ignore unapplicable users on leaderboard", async () => {
1719
//GIVEN
@@ -328,24 +330,6 @@ function lbBests(pb15?: PersonalBest, pb60?: PersonalBest): LbPersonalBests {
328330
return result;
329331
}
330332

331-
export function pb(
332-
wpm: number,
333-
acc: number = 90,
334-
timestamp: number = 1
335-
): PersonalBest {
336-
return {
337-
acc,
338-
consistency: 100,
339-
difficulty: "normal",
340-
lazyMode: false,
341-
language: "english",
342-
punctuation: false,
343-
raw: wpm + 1,
344-
wpm,
345-
timestamp,
346-
};
347-
}
348-
349333
function premium(expirationDeltaSeconds: number) {
350334
return {
351335
premium: {

backend/__tests__/dal/preset.spec.ts renamed to backend/__tests__/__integration__/dal/preset.spec.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import { ObjectId } from "mongodb";
2-
import * as PresetDal from "../../src/dal/preset";
2+
import * as PresetDal from "../../../src/dal/preset";
33
import _ from "lodash";
4+
import { describeIntegration } from "..";
45

5-
describe("PresetDal", () => {
6+
describeIntegration()("PresetDal", () => {
67
describe("readPreset", () => {
78
it("should read", async () => {
89
//GIVEN

backend/__tests__/dal/public.spec.ts renamed to backend/__tests__/__integration__/dal/public.spec.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
import * as PublicDAL from "../../src/dal/public";
1+
import { describeIntegration } from "..";
2+
import * as PublicDAL from "../../../src/dal/public";
23

3-
describe("PublicDAL", function () {
4+
describeIntegration()("PublicDAL", function () {
45
it("should be able to update stats", async function () {
56
// checks it doesn't throw an error. the actual values are checked in another test.
67
await PublicDAL.updateStats(1, 15);

backend/__tests__/dal/result.spec.ts renamed to backend/__tests__/__integration__/dal/result.spec.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
import * as ResultDal from "../../src/dal/result";
1+
import * as ResultDal from "../../../src/dal/result";
22
import { ObjectId } from "mongodb";
3-
import * as UserDal from "../../src/dal/user";
4-
import { DBResult } from "../../src/utils/result";
3+
import * as UserDal from "../../../src/dal/user";
4+
import { DBResult } from "../../../src/utils/result";
5+
import { describeIntegration } from "..";
56

67
let uid: string;
78
const timestamp = Date.now() - 60000;
@@ -62,7 +63,7 @@ async function createDummyData(
6263
});
6364
}
6465
}
65-
describe("ResultDal", () => {
66+
describeIntegration()("ResultDal", () => {
6667
beforeEach(() => {
6768
uid = new ObjectId().toHexString();
6869
});

backend/__tests__/dal/user.spec.ts renamed to backend/__tests__/__integration__/dal/user.spec.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import _ from "lodash";
2-
import * as UserDAL from "../../src/dal/user";
3-
import * as UserTestData from "../__testData__/users";
2+
import * as UserDAL from "../../../src/dal/user";
3+
import * as UserTestData from "../../__testData__/users";
44
import { ObjectId } from "mongodb";
55
import { MonkeyMail, ResultFilters } from "@monkeytype/schemas/users";
66
import { PersonalBest, PersonalBests } from "@monkeytype/schemas/shared";
77
import { CustomThemeColors } from "@monkeytype/schemas/configs";
8+
import { describeIntegration } from "..";
89

910
const mockPersonalBest = {
1011
acc: 1,
@@ -85,7 +86,7 @@ const mockResultFilter: ResultFilters = {
8586

8687
const mockDbResultFilter = { ...mockResultFilter, _id: new ObjectId() };
8788

88-
describe("UserDal", () => {
89+
describeIntegration()("UserDal", () => {
8990
it("should be able to insert users", async () => {
9091
// given
9192
const newUser = {
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
export const isIntegrationTest = process.env["INTEGRATION_TESTS"] === "true";
2+
3+
export function describeIntegration() {
4+
return describe.runIf(isIntegrationTest);
5+
}

0 commit comments

Comments
 (0)