Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions deno.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@
"#static/": "./src/ui/static/",
"#src/": "./src/",
"#test/": "./test/",
"#cli/": "./cli/",
"@libsql/client": "npm:@libsql/client@^0.17.2",
"fast-check": "npm:fast-check@^3.23.0",
"intl-messageformat": "npm:intl-messageformat@^10",
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
import { expect } from "@std/expect";
import { it as test } from "@std/testing/bdd";
import { executeBatch, insert, queryAll } from "#shared/db/client.ts";
import {
createMergePair,
runMerge,
} from "#test/shared/merge/attendee-merge/helpers.ts";
import { insertCheckoutStage } from "#test-utils/checkout-stages.ts";
import { describeWithEnv } from "#test-utils/db.ts";
import { createMergePair, runMerge } from "./helpers.ts";

describeWithEnv("attendee merge service", { db: true }, () => {
test("removes checkout stages for both merged attendees", async () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,18 @@ import { expect } from "@std/expect";
import { describe, it as test } from "@std/testing/bdd";
// jscpd:ignore-end
import { queryAll } from "#shared/db/client.ts";
import {
createDualPackageAttendee,
dualPackageRows,
} from "#test/lib/server-attendees/helpers.ts";
import {
assignMergeAnswers,
mergeNonConflictingAnswer,
mergePair,
mergePairWithQuestion,
mergeWithAnswerConflict,
submitMerge,
} from "#test/lib/server-attendees/merge.ts";
import {
expectFlash,
expectHtmlResponse,
Expand All @@ -13,15 +25,6 @@ import { createTestAttendeeDirect } from "#test-utils/db-helpers/attendees.ts";
import { createTestGroup } from "#test-utils/db-helpers/groups.ts";
import { createTestListing } from "#test-utils/db-helpers/listings.ts";
import { adminFormPost, adminGet } from "#test-utils/session.ts";
import { createDualPackageAttendee, dualPackageRows } from "./helpers.ts";
import {
assignMergeAnswers,
mergeNonConflictingAnswer,
mergePair,
mergePairWithQuestion,
mergeWithAnswerConflict,
submitMerge,
} from "./merge.ts";

describeWithEnv(
"server (admin attendees) > merge conflicts",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
import { expect } from "@std/expect";
import { describe, it as test } from "@std/testing/bdd";
import { settings } from "#shared/db/settings.ts";
import {
seedDraft,
seedListingWithAttendees,
seedMarketingDraftWithUnsubscriber,
seedSingleAttendeeListing,
useResend,
} from "#test/lib/server-bulk-email/helpers.ts";
import {
expectFlash,
expectFlashRedirect,
expectRedirect,
} from "#test-utils/assertions.ts";
import { describeWithEnv } from "#test-utils/db.ts";
import { adminFormPost, adminGet } from "#test-utils/session.ts";
import {
seedDraft,
seedListingWithAttendees,
seedMarketingDraftWithUnsubscriber,
seedSingleAttendeeListing,
useResend,
} from "./helpers.ts";

/** Read the rendered preview page's HTML. */
const getPreviewHtml = async (): Promise<string> =>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import { expect } from "@std/expect";
import { afterEach, it as test } from "@std/testing/bdd";
import { resetStripeClient } from "#shared/stripe.ts";
import {
latestAttendee,
submitBuyerOrder,
} from "#test/lib/server-reservation/helpers.ts";
import { describeWithEnv } from "#test-utils/db.ts";
import { createTestAttendeeDirect } from "#test-utils/db-helpers/attendees.ts";
import { createTestListing } from "#test-utils/db-helpers/listings.ts";
import { adminGet } from "#test-utils/session.ts";
import {
latestAttendee,
submitBuyerOrder,
} from "../server-reservation/helpers.ts";

describeWithEnv("server previous bookings", { db: true }, () => {
afterEach(() => resetStripeClient());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import { expect } from "@std/expect";
import { describe, it as test } from "@std/testing/bdd";
import { getListingWithCount } from "#shared/db/listings/records.ts";
import { testConfirmIdentifierMismatch } from "#test/lib/server-listings/confirm-identifier-mismatch.ts";
import {
assertAdminHtml,
expectFlashRedirect,
Expand All @@ -14,7 +15,6 @@ import {
adminGet,
setupListingAndLogin,
} from "#test-utils/session.ts";
import { testConfirmIdentifierMismatch } from "./confirm-identifier-mismatch.ts";

// jscpd:ignore-end

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import { expect } from "@std/expect";
import { describe, it as test } from "@std/testing/bdd";
import { getListingWithCount } from "#shared/db/listings/records.ts";
import { testConfirmIdentifierMismatch } from "#test/lib/server-listings/confirm-identifier-mismatch.ts";
import {
assertAdminHtml,
expectFlashRedirect,
Expand All @@ -13,7 +14,6 @@ import {
deactivateTestListing,
} from "#test-utils/db-helpers/listings.ts";
import { adminFormPost, setupListingAndLogin } from "#test-utils/session.ts";
import { testConfirmIdentifierMismatch } from "./confirm-identifier-mismatch.ts";

// jscpd:ignore-end

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { expect } from "@std/expect";
import { it as test } from "@std/testing/bdd";
import { listingsTable } from "#shared/db/listings/records.ts";
import { publicDailyParentWithMondayChild } from "#test/lib/server-parents-booking/_shared-setup.ts";
import { describeWithEnv } from "#test-utils/db.ts";
import { bookableStartDates } from "#test-utils/db-helpers/listings.ts";
import {
Expand All @@ -11,7 +12,6 @@ import {
makeParentWithDeactivatedChild,
} from "#test-utils/parents.ts";
import { enablePublicApi } from "#test-utils/settings.ts";
import { publicDailyParentWithMondayChild } from "./_shared-setup.ts";

describeWithEnv(
"server > parents booking — JSON API availability",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
import { expect } from "@std/expect";
import { it as test } from "@std/testing/bdd";
import { getAttendeesRaw } from "#shared/db/attendees/queries.ts";
import {
firstBookableDate,
stubCheckoutIntent,
} from "#test/lib/server-parents-gate/helpers.ts";
import { expectCapturedItemPriced } from "#test-utils/checkout.ts";
import { describeWithEnv } from "#test-utils/db.ts";
import { createTestListing } from "#test-utils/db-helpers/listings.ts";
Expand All @@ -15,7 +19,6 @@ import {
parentField,
postCalculate,
} from "#test-utils/parents.ts";
import { firstBookableDate, stubCheckoutIntent } from "./helpers.ts";

// jscpd:ignore-end

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@
import { expect } from "@std/expect";
import { it as test } from "@std/testing/bdd";
import { getAttendeesRaw } from "#shared/db/attendees/queries.ts";
import {
childExcludingParentDay,
firstBookableDate,
makeDailyChildFilledOnDayA,
makeDailyGroupWithFiller,
} from "#test/lib/server-parents-gate/helpers.ts";
import { expectFlash } from "#test-utils/assertions.ts";
import { describeWithEnv } from "#test-utils/db.ts";
import {
Expand All @@ -16,12 +22,6 @@ import {
makeParent,
parentField,
} from "#test-utils/parents.ts";
import {
childExcludingParentDay,
firstBookableDate,
makeDailyChildFilledOnDayA,
makeDailyGroupWithFiller,
} from "./helpers.ts";

// jscpd:ignore-end

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import { expect } from "@std/expect";
import { describe, it as test } from "@std/testing/bdd";
import { settings } from "#shared/db/settings.ts";
import { expectBasicTicketBookingRedirectsToThanks } from "#test/lib/server-public/basic-ticket-booking.ts";
import {
assertPublicHtml,
expectFlash,
Expand All @@ -15,7 +16,6 @@ import {
} from "#test-utils/csrf.ts";
import { describeWithEnv } from "#test-utils/db.ts";
import { createTestListing } from "#test-utils/db-helpers/listings.ts";
import { expectBasicTicketBookingRedirectsToThanks } from "./basic-ticket-booking.ts";

// jscpd:ignore-end

Expand Down
10 changes: 5 additions & 5 deletions test/lib/cli.test.ts → test/integration/tooling/cli.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ import { join } from "node:path";
import { expect } from "@std/expect";
import { describe, it as test } from "@std/testing/bdd";
import { stub } from "@std/testing/mock";
import { buildRequest, parseBody } from "#cli/api-request.ts";
import { loadConfig } from "#cli/config.ts";
import { buildCurlArgs, curlFailureMessage, curlJson } from "#cli/curl.ts";
import { clearScreen, writeErr, writeOut } from "#cli/io.ts";
import { parseResource, resourcePath, resources } from "#cli/resources.ts";
import { adminApiRoutes } from "#routes/admin/api.ts";
import { withEnv } from "#test-utils/env.ts";
import { withTempDir } from "#test-utils/files.ts";
import { buildRequest, parseBody } from "../../cli/api-request.ts";
import { loadConfig } from "../../cli/config.ts";
import { buildCurlArgs, curlFailureMessage, curlJson } from "../../cli/curl.ts";
import { clearScreen, writeErr, writeOut } from "../../cli/io.ts";
import { parseResource, resourcePath, resources } from "../../cli/resources.ts";

describe("CLI config", () => {
test("loads and normalizes environment config", async () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
renderLedger,
setUpLedgerPageCrypto,
transfer,
} from "./helpers.ts";
} from "#test/ui/templates/admin/ledger/helpers.ts";

describe("money account labels", () => {
beforeAll(setUpLedgerPageCrypto);
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import {
parentAndChildFitGroup,
ticketsThatFitInPool,
} from "#shared/booking/model.ts";
import { listing } from "#test/lib/booking-model-fixtures.ts";
import { useSetting } from "#test-utils/settings.ts";
import { listing } from "./booking-model-fixtures.ts";

describe("booking model — capacity", () => {
useSetting({ timezone: "UTC" });
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ import {
type TicketListing,
updateForMembersWithChildren,
} from "#shared/booking/model.ts";
import { useSetting } from "#test-utils/settings.ts";
import {
oneChildSupportingDayTwo,
resolved,
} from "./booking-model-fixtures.ts";
} from "#test/lib/booking-model-fixtures.ts";
import { useSetting } from "#test-utils/settings.ts";

describe("booking model — day-count support", () => {
useSetting({ timezone: "UTC" });
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@ import {
childPassesAllChecks,
childUsesSameDays,
} from "#shared/booking/model.ts";
import { useSetting } from "#test-utils/settings.ts";
import {
dailyOverrides,
resolved,
today,
weekdayOf,
} from "./booking-model-fixtures.ts";
} from "#test/lib/booking-model-fixtures.ts";
import { useSetting } from "#test-utils/settings.ts";

describe("booking model — child eligibility", () => {
useSetting({ timezone: "UTC" });
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ import {
packageQuantityFieldName,
quantityFieldName,
} from "#shared/booking/tree.ts";
import { treePackage as pkg } from "#test/lib/package-cap-fixtures.ts";
import { testListingWithCount } from "#test-utils/factories.ts";
import { treePackage as pkg } from "./package-cap-fixtures.ts";

const resolved = (overrides = {}, closed = false, groupRemaining?: number) =>
buildTicketListing(testListingWithCount(overrides), closed, groupRemaining);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ import {
} from "#shared/columns/attendee-columns.ts";
import type { QuestionWithAnswers } from "#shared/db/question-types.ts";
import type { AttendeeColumnOpts } from "#templates/attendee-table.tsx";
import { setupTestEncryptionKey } from "#test-utils/env.ts";
import { testAttendee } from "#test-utils/factories.ts";
import {
makeAttendeeRow as makeRow,
attendeeColumnOpts as opts,
} from "./attendee-column-fixtures.ts";
} from "#test/lib/column-order/attendee-column-fixtures.ts";
import { setupTestEncryptionKey } from "#test-utils/env.ts";
import { testAttendee } from "#test-utils/factories.ts";

setupTestEncryptionKey();

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ import { it as test } from "@std/testing/bdd";
import { getDb } from "#shared/db/client.ts";
import dropListingAttendeeRefundedMigration from "#shared/db/migrations/2026-06-22_drop_listing_attendee_refunded.ts";
import { recreateTable } from "#shared/db/migrations/schema-sync.ts";
import {
columnNames,
seedPreDropLedgerColumns,
} from "#test/lib/db/migration-test-helpers.ts";
import { describeWithEnv } from "#test-utils/db.ts";
import { createTestAttendee } from "#test-utils/db-helpers/attendees.ts";
import { createTestListing } from "#test-utils/db-helpers/listings.ts";
import { buildMigrationContext } from "#test-utils/migrations.ts";
import {
columnNames,
seedPreDropLedgerColumns,
} from "../migration-test-helpers.ts";

// This migration's up() only recreates the table.
const context = buildMigrationContext({ recreateTable });
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ import { TRIGGERS } from "#shared/db/migrations/schema/triggers.ts";
import { BACKFILL_LISTING_AGGREGATES_SQL } from "#shared/db/migrations/schema-sync.ts";
import { loadMigrations } from "#shared/db/migrations.ts";
import { recordAttendeeRefund } from "#shared/refund-ledger.ts";
import { readListingAggregates as aggregates } from "#test/lib/db/migration-test-helpers.ts";
import { describeWithEnv } from "#test-utils/db.ts";
import { createTestListing } from "#test-utils/db-helpers/listings.ts";
import { postListingSale } from "#test-utils/ledger.ts";
import { readListingAggregates as aggregates } from "./migration-test-helpers.ts";

const MIGRATIONS = await loadMigrations();
const refundPostedSale = (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ import {
questionListings,
} from "#shared/db/questions/queries.ts";
import { questionsOrder } from "#shared/db/questions/tables.ts";
import { describeWithEnv } from "#test-utils/db.ts";
import { createTestListing } from "#test-utils/db-helpers/listings.ts";
import {
createOrderedQuestionPair,
createQuestion,
createQuestionWithAnswers,
expectQuestionTexts,
seedQuestionWithAndWithoutAnswers,
} from "./helpers.ts";
} from "#test/shared/db/questions/helpers.ts";
import { describeWithEnv } from "#test-utils/db.ts";
import { createTestListing } from "#test-utils/db-helpers/listings.ts";

/** Two answered questions ("Q1", "Q2") and a fresh listing — the shared
* arrange behind the assign/replace mapping tests. */
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
import { expect } from "@std/expect";
import { describe, it as test } from "@std/testing/bdd";
import { squarePaymentProvider } from "#shared/square-provider.ts";
import {
configureSquare,
linkResult,
withSquareClient,
} from "#test/lib/square/fixtures.ts";
import { describeSquare } from "#test/lib/square/harness.ts";
import { checkoutIntent, checkoutItem } from "#test-utils/checkout.ts";
import { configureSquare, linkResult, withSquareClient } from "./fixtures.ts";
import { describeSquare } from "./harness.ts";

describeSquare(() => {
describe("squarePaymentProvider integration", () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ import { describe, it as test } from "@std/testing/bdd";
import { stub } from "@std/testing/mock";
import type { RefundPaymentInput } from "#shared/square.ts";
import { retrievePayment, squareApi } from "#shared/square.ts";
import { withSquareClient } from "#test/lib/square/fixtures.ts";
import { describeSquare } from "#test/lib/square/harness.ts";
import { withMocks } from "#test-utils/mocks.ts";
import { withSquareClient } from "./fixtures.ts";
import { describeSquare } from "./harness.ts";

describeSquare(() => {
describe("retrieveOrder", () => {
Expand Down
Loading
Loading