~james/core

core/web/src/lib/subdomain.test.ts -rw-r--r-- 551 bytes
452f17b7 — james chore(import): snapshot james.dad.town/core at f70c71c7696a 15 hours ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import { describe, expect, it } from "vitest";
import { isValidSubdomain, SUBDOMAIN_MAX_LENGTH, SUBDOMAIN_MIN_LENGTH } from "#lib/subdomain.ts";

describe("isValidSubdomain", () => {
	it.each(["team", "team-123", "a".repeat(SUBDOMAIN_MAX_LENGTH)])("accepts %j", (value) => {
		expect(isValidSubdomain(value)).toBe(true);
	});

	it.each([
		"a".repeat(SUBDOMAIN_MIN_LENGTH - 1),
		"a".repeat(SUBDOMAIN_MAX_LENGTH + 1),
		"-team",
		"team-",
		"Team",
		"team_name"
	])("rejects %j", (value) => {
		expect(isValidSubdomain(value)).toBe(false);
	});
});