[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [Assert](https://evolu.dev/docs/api-reference/common/Assert) › assertRejects

## Call Signature

```ts
function assertRejects(
  promise: PromiseLike<unknown>,
  assertRejected: (reason: unknown) => void,
): Promise<void>;
```

Defined in: [packages/common/src/Assert.ts:534](https://github.com/evoluhq/evolu/blob/ecbac001e0c18bbc45b44715f49ecc3a768c5ec9/packages/common/src/Assert.ts#L534)

Asserts that a promise rejects with the expected value.

Expected values use [assertEqual](https://evolu.dev/docs/api-reference/common/Assert/functions/assertEqual) semantics. To perform several or
specialized assertions, pass an assertion function that receives the
rejection reason and returns nothing. Returning a predicate result fails. Use
[assertRejectsSame](https://evolu.dev/docs/api-reference/common/Assert/functions/assertRejectsSame) for SameValue or reference identity and
[assertRejectsInstanceOf](https://evolu.dev/docs/api-reference/common/Assert/functions/assertRejectsInstanceOf) for a runtime type.

Because JavaScript permits rejecting with functions, a function second
argument is always treated as an assertion function. Use `assertRejectsSame`
to assert that a particular function was rejected.

### Example

```ts

const expected = new Error("Unavailable.");
await assertRejects(Promise.reject(expected), expected);
```

## Call Signature

```ts
function assertRejects(
  promise: PromiseLike<unknown>,
  expected: unknown,
): Promise<void>;
```

Defined in: [packages/common/src/Assert.ts:538](https://github.com/evoluhq/evolu/blob/ecbac001e0c18bbc45b44715f49ecc3a768c5ec9/packages/common/src/Assert.ts#L538)

Asserts that a promise rejects with the expected value.

Expected values use [assertEqual](https://evolu.dev/docs/api-reference/common/Assert/functions/assertEqual) semantics. To perform several or
specialized assertions, pass an assertion function that receives the
rejection reason and returns nothing. Returning a predicate result fails. Use
[assertRejectsSame](https://evolu.dev/docs/api-reference/common/Assert/functions/assertRejectsSame) for SameValue or reference identity and
[assertRejectsInstanceOf](https://evolu.dev/docs/api-reference/common/Assert/functions/assertRejectsInstanceOf) for a runtime type.

Because JavaScript permits rejecting with functions, a function second
argument is always treated as an assertion function. Use `assertRejectsSame`
to assert that a particular function was rejected.

### Example

```ts

const expected = new Error("Unavailable.");
await assertRejects(Promise.reject(expected), expected);
```