Compare commits
3 commits
f428cbb219
...
f66189cfd6
| Author | SHA1 | Date | |
|---|---|---|---|
| f66189cfd6 | |||
| 1578055a27 | |||
| 6e98720310 |
4 changed files with 39 additions and 18 deletions
|
|
@ -53,6 +53,8 @@ jobs:
|
||||||
- name: MongoDB log on failure
|
- name: MongoDB log on failure
|
||||||
if: failure()
|
if: failure()
|
||||||
run: docker logs mongo-ci || true
|
run: docker logs mongo-ci || true
|
||||||
|
- name: Seed test data
|
||||||
|
run: node scripts/seed-all.js && node scripts/seed-tags.js
|
||||||
- run: npm run build
|
- run: npm run build
|
||||||
- name: Start server
|
- name: Start server
|
||||||
run: node .output/server/index.mjs > /tmp/server.log 2>&1 &
|
run: node .output/server/index.mjs > /tmp/server.log 2>&1 &
|
||||||
|
|
@ -121,6 +123,8 @@ jobs:
|
||||||
- name: MongoDB log on failure
|
- name: MongoDB log on failure
|
||||||
if: failure()
|
if: failure()
|
||||||
run: docker logs mongo-ci || true
|
run: docker logs mongo-ci || true
|
||||||
|
- name: Seed test data
|
||||||
|
run: node scripts/seed-all.js && node scripts/seed-tags.js
|
||||||
- run: npm run build
|
- run: npm run build
|
||||||
- name: Start server
|
- name: Start server
|
||||||
run: node .output/server/index.mjs > /tmp/server.log 2>&1 &
|
run: node .output/server/index.mjs > /tmp/server.log 2>&1 &
|
||||||
|
|
|
||||||
|
|
@ -28,9 +28,9 @@ test.describe('Member dashboard — Slack-coming note (§7)', () => {
|
||||||
test('hides note for pending_payment member (7.3)', async ({ browser }) => {
|
test('hides note for pending_payment member (7.3)', async ({ browser }) => {
|
||||||
const context = await browser.newContext()
|
const context = await browser.newContext()
|
||||||
const page = await context.newPage()
|
const page = await context.newPage()
|
||||||
await loginAsMember(page, 'jennie@jenniefaber.com')
|
await loginAsMember(page, 'pending-payment-test@example.test')
|
||||||
await page.goto('/member/dashboard')
|
await page.goto('/member/dashboard')
|
||||||
await expect(page.getByRole('heading', { name: /Welcome.*Jennifer/i })).toBeVisible({ timeout: 15000 })
|
await expect(page.getByRole('heading', { name: /Welcome.*Pending Payment Tester/i })).toBeVisible({ timeout: 15000 })
|
||||||
await expect(page.getByText(SLACK_NOTE_RE)).toHaveCount(0)
|
await expect(page.getByText(SLACK_NOTE_RE)).toHaveCount(0)
|
||||||
await context.close()
|
await context.close()
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -274,6 +274,18 @@ const sampleMembers = [
|
||||||
createdAt: new Date('2025-06-01'),
|
createdAt: new Date('2025-06-01'),
|
||||||
lastLogin: new Date('2026-04-04'),
|
lastLogin: new Date('2026-04-04'),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
email: 'pending-payment-test@example.test',
|
||||||
|
name: 'Pending Payment Tester',
|
||||||
|
circle: 'community',
|
||||||
|
contributionAmount: 5,
|
||||||
|
status: 'pending_payment',
|
||||||
|
slackInvited: false,
|
||||||
|
craftTags: [],
|
||||||
|
board: {},
|
||||||
|
createdAt: new Date('2026-04-25'),
|
||||||
|
lastLogin: new Date('2026-04-29'),
|
||||||
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
const TEST_ADMIN_BOARD = {
|
const TEST_ADMIN_BOARD = {
|
||||||
|
|
|
||||||
|
|
@ -24,22 +24,27 @@ export default defineEventHandler(async (event) => {
|
||||||
let channelName = body.name
|
let channelName = body.name
|
||||||
|
|
||||||
if (!slackChannelId) {
|
if (!slackChannelId) {
|
||||||
const slack = getSlackAdminService()
|
if (process.env.ALLOW_DEV_TEST_ENDPOINTS === 'true') {
|
||||||
if (!slack) {
|
slackChannelId = `dev-stub-${Date.now()}`
|
||||||
throw createError({
|
console.log('[slack] DEV MODE — skipping createChannel', { name: body.name, slackChannelId })
|
||||||
statusCode: 500,
|
} else {
|
||||||
statusMessage: 'Slack integration not configured',
|
const slack = getSlackAdminService()
|
||||||
})
|
if (!slack) {
|
||||||
}
|
throw createError({
|
||||||
try {
|
statusCode: 500,
|
||||||
const created = await slack.createChannel(body.name)
|
statusMessage: 'Slack integration not configured',
|
||||||
slackChannelId = created.id
|
})
|
||||||
channelName = created.name
|
}
|
||||||
} catch (err) {
|
try {
|
||||||
throw createError({
|
const created = await slack.createChannel(body.name)
|
||||||
statusCode: 502,
|
slackChannelId = created.id
|
||||||
statusMessage: `Failed to create Slack channel: ${err.data?.error || err.message}`,
|
channelName = created.name
|
||||||
})
|
} catch (err) {
|
||||||
|
throw createError({
|
||||||
|
statusCode: 502,
|
||||||
|
statusMessage: `Failed to create Slack channel: ${err.data?.error || err.message}`,
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue