forwardemail / forwardemail/supertest

[fix] Tests timeout no matter what if expect fails.

Open
#837 2 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
JavaScript
Stars
14.4k
Forks
782
PR merge metrics
No merged PRs in 30d

Description

## Describe the bug

**Node.js version:** v20.10.0
**OS version:** MAC 14.2.1 (23C71)

The following test returns 200, however when trying to force the test to fail by expecting status to be 201 as below, the test always times out, and doesn't fail immediately.

How can I prevent this.

```
it('should return account ids', done => {
request(app).get('/api/v1/account/info/ids').set(headers).end((err, res) => {
expect(res.status).toBe(201);
expect(res.body.message).toEqual("Last 1000 Ids added...");
done();
});
});
```

another example, this time similar to the async await example from the readme.

```
it('should return account info by id', async () => {
let res = await request(app).get(`/api/v1/account/info/ids/${expected.id}`).set(headers);
expect(res.body.id).toEqual(999); // <-- THIS IS A FAILURE, TIMES OUT...
expect(res.body.wc_customer_id).toEqual(expected.wc_customer_id);
expect(res.body.chrono_patient_id).toEqual(expected.chrono_patient_id);
expect(res.body.klaviyo_profile_id).toEqual(expected.klaviyo_profile_id);
expect(res.body.suggestic_db_id).toEqual(expected.suggestic_db_id);
expect(res.body.email).toEqual(expected.email);
});
```

## Actual behavior

Test times out rather than returning on failure, or continuing to run.

## Expected behavior

Test would check all assertions OR exit properly on assertion failure.

## Code to reproduce

Any test similar to the example above.

## Checklist

- [ x] I have searched through GitHub issues for similar issues.
- [ x] I have completely read through the README and documentation.
- [ x] I have tested my code with the latest version of Node.js and this package and confirmed it is still not working.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.