test(helcim): mock text() not json() to match helcimFetch contract
Some checks failed
Test / vitest (push) Successful in 12m42s
Test / playwright (push) Failing after 9m54s
Test / visual (push) Failing after 9m32s
Test / Notify on failure (push) Successful in 2s

This commit is contained in:
Jennie Robinson Faber 2026-04-20 14:01:19 +01:00
parent 1fbe9c3227
commit 6a6c567fd5

View file

@ -1,15 +1,15 @@
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest' import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'
vi.mock('../../../server/utils/auth.js', () => ({ requireAuth: vi.fn() }))
vi.mock('../../../server/utils/validateBody.js', () => ({ validateBody: vi.fn() }))
vi.mock('../../../server/utils/schemas.js', () => ({ paymentVerifySchema: {} }))
import { requireAuth } from '../../../server/utils/auth.js' import { requireAuth } from '../../../server/utils/auth.js'
import { validateBody as importedValidateBody } from '../../../server/utils/validateBody.js' import { validateBody as importedValidateBody } from '../../../server/utils/validateBody.js'
import initPaymentHandler from '../../../server/api/helcim/initialize-payment.post.js' import initPaymentHandler from '../../../server/api/helcim/initialize-payment.post.js'
import verifyPaymentHandler from '../../../server/api/helcim/verify-payment.post.js' import verifyPaymentHandler from '../../../server/api/helcim/verify-payment.post.js'
import { createMockEvent } from '../helpers/createMockEvent.js' import { createMockEvent } from '../helpers/createMockEvent.js'
vi.mock('../../../server/utils/auth.js', () => ({ requireAuth: vi.fn() }))
vi.mock('../../../server/utils/validateBody.js', () => ({ validateBody: vi.fn() }))
vi.mock('../../../server/utils/schemas.js', () => ({ paymentVerifySchema: {} }))
// helcimInitializePaymentSchema is a Nitro auto-import used by validateBody // helcimInitializePaymentSchema is a Nitro auto-import used by validateBody
vi.stubGlobal('helcimInitializePaymentSchema', {}) vi.stubGlobal('helcimInitializePaymentSchema', {})
@ -34,7 +34,7 @@ describe('initialize-payment endpoint', () => {
mockFetch.mockResolvedValue({ mockFetch.mockResolvedValue({
ok: true, ok: true,
json: async () => ({ checkoutToken: 'ct-123', secretToken: 'st-456' }) text: async () => JSON.stringify({ checkoutToken: 'ct-123', secretToken: 'st-456' })
}) })
const event = createMockEvent({ const event = createMockEvent({
@ -55,7 +55,7 @@ describe('initialize-payment endpoint', () => {
mockFetch.mockResolvedValue({ mockFetch.mockResolvedValue({
ok: true, ok: true,
json: async () => ({ checkoutToken: 'ct-123', secretToken: 'st-456' }) text: async () => JSON.stringify({ checkoutToken: 'ct-123', secretToken: 'st-456' })
}) })
const event = createMockEvent({ const event = createMockEvent({
@ -78,7 +78,7 @@ describe('initialize-payment endpoint', () => {
mockFetch.mockResolvedValue({ mockFetch.mockResolvedValue({
ok: true, ok: true,
json: async () => ({ checkoutToken: 'ct-abc', secretToken: 'st-xyz' }) text: async () => JSON.stringify({ checkoutToken: 'ct-abc', secretToken: 'st-xyz' })
}) })
const event = createMockEvent({ const event = createMockEvent({
@ -132,7 +132,7 @@ describe('verify-payment endpoint', () => {
mockFetch.mockResolvedValue({ mockFetch.mockResolvedValue({
ok: true, ok: true,
json: async () => [{ cardToken: 'tok-1' }] text: async () => JSON.stringify([{ cardToken: 'tok-1' }])
}) })
const event = createMockEvent({ const event = createMockEvent({
@ -153,10 +153,10 @@ describe('verify-payment endpoint', () => {
mockFetch.mockResolvedValue({ mockFetch.mockResolvedValue({
ok: true, ok: true,
json: async () => [ text: async () => JSON.stringify([
{ cardToken: 'tok-other' }, { cardToken: 'tok-other' },
{ cardToken: 'tok-match' } { cardToken: 'tok-match' }
] ])
}) })
const event = createMockEvent({ const event = createMockEvent({
@ -181,10 +181,10 @@ describe('verify-payment endpoint', () => {
mockFetch.mockResolvedValue({ mockFetch.mockResolvedValue({
ok: true, ok: true,
json: async () => [ text: async () => JSON.stringify([
{ cardToken: 'tok-aaa' }, { cardToken: 'tok-aaa' },
{ cardToken: 'tok-bbb' } { cardToken: 'tok-bbb' }
] ])
}) })
const event = createMockEvent({ const event = createMockEvent({