Skip to content

Commit

Permalink
tests: fixed some test types and fixed darwin support
Browse files Browse the repository at this point in the history
  • Loading branch information
wyattjoh committed May 14, 2024
1 parent 0102e9f commit d863642
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 36 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,12 @@ import {
initNextServerScript,
killApp,
} from 'next-test-utils'
import { ChildProcess } from 'child_process'

describe('required server files app router', () => {
let next: NextInstance
let server
let appPort
let server: ChildProcess
let appPort: number | string
let delayedPostpone
let rewritePostpone

Expand Down Expand Up @@ -93,7 +94,7 @@ describe('required server files app router', () => {
/- Local:/,
{
...process.env,
PORT: appPort,
PORT: `${appPort}`,
},
undefined,
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import {
initNextServerScript,
killApp,
renderViaHTTP,
retry,
waitFor,
} from 'next-test-utils'

Expand Down Expand Up @@ -134,11 +135,21 @@ describe('required server files', () => {
},
}
)

if (process.platform === 'darwin') {
appPort = `http://127.0.0.1:${appPort}`
}
}

beforeAll(async () => {
await setupNext({ nextEnv: true, minimalMode: true })
})

beforeEach(() => {
errors = []
stderr = ''
})

afterAll(async () => {
await next.destroy()
if (server) await killApp(server)
Expand Down Expand Up @@ -958,60 +969,43 @@ describe('required server files', () => {
})

it('should bubble error correctly for gip page', async () => {
errors = []
const res = await fetchViaHTTP(appPort, '/errors/gip', { crash: '1' })
expect(res.status).toBe(500)
expect(await res.text()).toBe('Internal Server Error')

await check(
() =>
errors.join('\n').includes('gip hit an oops')
? 'success'
: errors.join('\n'),
'success'
)
await retry(() => {
expect(errors.join('\n')).toInclude('gip hit an oops')
})
})

it('should bubble error correctly for gssp page', async () => {
errors = []
const res = await fetchViaHTTP(appPort, '/errors/gssp', { crash: '1' })
expect(res.status).toBe(500)
expect(await res.text()).toBe('Internal Server Error')
await check(
() =>
errors.join('\n').includes('gssp hit an oops')
? 'success'
: errors.join('\n'),
'success'
)

await retry(() => {
expect(errors.join('\n')).toInclude('gssp hit an oops')
})
})

it('should bubble error correctly for gsp page', async () => {
errors = []
const res = await fetchViaHTTP(appPort, '/errors/gsp/crash')
expect(res.status).toBe(500)
expect(await res.text()).toBe('Internal Server Error')
await check(
() =>
errors.join('\n').includes('gsp hit an oops')
? 'success'
: errors.join('\n'),
'success'
)

await retry(() => {
expect(errors.join('\n')).toInclude('gsp hit an oops')
})
})

it('should bubble error correctly for API page', async () => {
errors = []
const res = await fetchViaHTTP(appPort, '/api/error')
expect(res.status).toBe(500)
expect(await res.text()).toBe('Internal Server Error')
await check(
() =>
errors.join('\n').includes('some error from /api/error')
? 'success'
: errors.join('\n'),
'success'
)

await retry(() => {
expect(errors.join('\n')).toInclude('some error from /api/error')
})
})

it('should normalize optional values correctly for SSP page', async () => {
Expand Down Expand Up @@ -1284,7 +1278,8 @@ describe('required server files', () => {
expect(envVariables.envFromHost).toBe('FOOBAR')
})

it('should run middleware correctly (without minimalMode, with wasm)', async () => {
// FIXME: skipped because it mutates the global server and port without restoring it
it.skip('should run middleware correctly (without minimalMode, with wasm)', async () => {
const standaloneDir = join(next.testDir, 'standalone')

const testServer = join(standaloneDir, 'server.js')
Expand Down

0 comments on commit d863642

Please sign in to comment.