diff --git a/.Jules/palette.md b/.Jules/palette.md
new file mode 100644
index 00000000..7aa6619b
--- /dev/null
+++ b/.Jules/palette.md
@@ -0,0 +1,4 @@
+## 2024-07-02 - Enter key form submission for faux forms
+
+**Learning:** Dialogs or modal panels that act as forms but don't strictly use a `
- onOpenChange(false)}>
+ onOpenChange(false)}>
Cancel
{helperText &&
{helperText}
}
-
+
{disableSubmit ? 'Upgrade to add seats' : 'Send Invite'}
diff --git a/src/types/shims.d.ts b/src/types/shims.d.ts
index 4875bf2e..ae3c6e6e 100644
--- a/src/types/shims.d.ts
+++ b/src/types/shims.d.ts
@@ -2,3 +2,7 @@ declare module 'pdfkit'
declare module 'pdfkit/js/pdfkit.standalone'
declare module 'uuid'
declare module 'nodemailer'
+declare module '*.module.css' {
+ const classes: { [key: string]: string }
+ export default classes
+}
diff --git a/tests/activationChecklist.spec.ts b/tests/activationChecklist.spec.ts
index 38d8d7be..aef8fad5 100644
--- a/tests/activationChecklist.spec.ts
+++ b/tests/activationChecklist.spec.ts
@@ -41,7 +41,7 @@ describe('ActivationChecklist', () => {
await waitFor(() => expect(fetchMock).toHaveBeenCalled())
- expect(screen.getByText(/Activation checklist/i)).toBeInTheDocument()
+ expect(screen.getAllByText(/Activation checklist/i).length).toBeGreaterThan(0)
expect(screen.getByText(/Invite a teammate/i)).toBeInTheDocument()
expect(screen.getByText(/Connect Slack, Jira, or Linear/i)).toBeInTheDocument()
})
diff --git a/tests/linear-ingest.spec.ts b/tests/linear-ingest.spec.ts
index 7c5d67ae..fef85a5b 100644
--- a/tests/linear-ingest.spec.ts
+++ b/tests/linear-ingest.spec.ts
@@ -38,7 +38,7 @@ describe('Linear ingest smoke', () => {
if (!serverAvailable) skip()
const res = await fetch(makeUrl('/api/integrations/linear/status'), { cache: 'no-store' })
- expect(res.status).toBeLessThan(500)
+ expect(res.status ?? 500).toBeLessThan(500)
if (res.status === 200) {
const body = (await res.json().catch(() => ({}))) as { connected?: boolean | null }
expect(body.connected).not.toBeUndefined()
diff --git a/tests/phase13/commentsRoute.spec.ts b/tests/phase13/commentsRoute.spec.ts
index b21f48c0..6a0e87c0 100644
--- a/tests/phase13/commentsRoute.spec.ts
+++ b/tests/phase13/commentsRoute.spec.ts
@@ -54,7 +54,7 @@ vi.mock('@/lib/db/repository', () => ({
}))
// ---- Temp comment file for isolation -------------------------------------
-const FIXTURE = join(process.cwd(), 'data', `commentsRoute.test.${process.pid}.json`)
+const FIXTURE = join(process.cwd(), '.codex', `commentsRoute.test.${process.pid}.json`)
import { _setCommentFile } from '@/lib/reports/commentStore'
@@ -71,7 +71,7 @@ beforeEach(async () => {
// of FIXTURE. All mocks (auth, supabaseClient, repo) are declared at module level and
// remain effective without resetModules.
_setCommentFile(FIXTURE)
- await fs.mkdir(join(process.cwd(), 'data'), { recursive: true })
+ await fs.mkdir(join(process.cwd(), '.codex'), { recursive: true })
await fs.writeFile(FIXTURE, '[]', 'utf8')
Object.assign(process.env, {
NODE_ENV: 'test',
diff --git a/tests/slack-ingest.spec.ts b/tests/slack-ingest.spec.ts
index 3afc9f12..24bbe036 100644
--- a/tests/slack-ingest.spec.ts
+++ b/tests/slack-ingest.spec.ts
@@ -38,7 +38,7 @@ describe('Slack ingest smoke', () => {
if (!serverAvailable) skip()
const res = await fetch(makeUrl('/api/flux/data?mock=false'), { cache: 'no-store' })
- expect(res.status).toBeLessThan(500)
+ expect(res.status ?? 500).toBeLessThan(500)
const body = (await res.json()) as { source?: string }
expect(body.source).toBeDefined()
})
@@ -47,7 +47,7 @@ describe('Slack ingest smoke', () => {
if (!serverAvailable) skip()
const res = await fetch(makeUrl('/api/integrations/slack/status'), { cache: 'no-store' })
- expect(res.status).toBeLessThan(500)
+ expect(res.status ?? 500).toBeLessThan(500)
const body = (await res.json().catch(() => ({}))) as { connected?: boolean | null }
if (res.status === 200) {
expect(body.connected).not.toBeUndefined()