fix: Add 10 domain limit per team (#3733)
* fix: Validate team domains are FQDN's Add 10 domain limit per team fix: Deletion of domains not happening within request lifecycle * tests * docs
This commit is contained in:
72
server/models/TeamDomain.test.ts
Normal file
72
server/models/TeamDomain.test.ts
Normal file
@@ -0,0 +1,72 @@
|
||||
import { buildAdmin, buildTeam } from "@server/test/factories";
|
||||
import { flushdb } from "@server/test/support";
|
||||
import TeamDomain from "./TeamDomain";
|
||||
|
||||
beforeEach(() => flushdb());
|
||||
|
||||
describe("team domain model", () => {
|
||||
describe("create", () => {
|
||||
it("should allow creation of domains", async () => {
|
||||
const team = await buildTeam();
|
||||
const user = await buildAdmin({ teamId: team.id });
|
||||
const domain = await TeamDomain.create({
|
||||
teamId: team.id,
|
||||
name: "getoutline.com",
|
||||
createdById: user.id,
|
||||
});
|
||||
|
||||
expect(domain.name).toEqual("getoutline.com");
|
||||
});
|
||||
|
||||
it("should not allow junk domains", async () => {
|
||||
const team = await buildTeam();
|
||||
const user = await buildAdmin({ teamId: team.id });
|
||||
|
||||
let error;
|
||||
try {
|
||||
await TeamDomain.create({
|
||||
teamId: team.id,
|
||||
name: "sdfsdf",
|
||||
createdById: user.id,
|
||||
});
|
||||
} catch (err) {
|
||||
error = err;
|
||||
}
|
||||
expect(error).toBeDefined();
|
||||
});
|
||||
|
||||
it("should not allow creation of domains within restricted list", async () => {
|
||||
const team = await buildTeam();
|
||||
const user = await buildAdmin({ teamId: team.id });
|
||||
|
||||
let error;
|
||||
try {
|
||||
await TeamDomain.create({
|
||||
teamId: team.id,
|
||||
name: "gmail.com",
|
||||
createdById: user.id,
|
||||
});
|
||||
} catch (err) {
|
||||
error = err;
|
||||
}
|
||||
expect(error).toBeDefined();
|
||||
});
|
||||
|
||||
it("should ignore casing and spaces when creating domains", async () => {
|
||||
const team = await buildTeam();
|
||||
const user = await buildAdmin({ teamId: team.id });
|
||||
|
||||
let error;
|
||||
try {
|
||||
await TeamDomain.create({
|
||||
teamId: team.id,
|
||||
name: " GMail.com ",
|
||||
createdById: user.id,
|
||||
});
|
||||
} catch (err) {
|
||||
error = err;
|
||||
}
|
||||
expect(error).toBeDefined();
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user