firebase / firebase/quickstart-testing

example code passes incorrectly

Open
#334 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
368
Forks
125
PR merge metrics
No merged PRs in 30d

Description

The function, expectPermissionGetSucceeds, can pass when it shouldn't.

https://github.com/firebase/quickstart-testing/blob/6ac0acf396e87e2588223151e8f0b4cf307a5e84/unit-test-security-rules-v9/test/utils.ts#L61

If your READ permissions return a PERMISSION_DENIED, then the getDoc promise will return the error code. however since this only expects that promise.not.toBeUndefined, then the error code meets that criteria.

I fixed locally by just adding the second check to make sure that the error code != PERMISSION_DENIED

```
export async function expectPermissionGetSucceeds(promise: Promise) {
const successResult = await assertSucceeds(promise);
expect(successResult).not.toBeUndefined();
expect(successResult.code).not.toBe('permission-denied' || 'PERMISSION_DENIED');
}
```

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.