@universal-packages/push-notifications-jest
v1.0.9
Published
Jest matchers for Push Notifications
Downloads
11
Readme
Push Notifications Jest
Jest matchers for Push Notifications testing.
Install
npm install @universal-packages/push-notifications-jest
npm install @universal-packages/push-notifications
Setup
Add the following to your jest.config.js
or where you configure Jest:
module.exports = {
setupFilesAfterEnv: ['@universal-packages/push-notifications-jest']
}
Matchers
toHavePushedNotification
import { PushNotifications } from '@universal-packages/push-notifications'
import config from './config'
it('should push notification', async () => {
const pushNotifications = new PushNotifications(config)
await pushNotifications.pushNotification([deviceToken], { title: 'Hello', body: 'World', data: { id: 1 } })
expect(pushNotifications).toHavePushedNotification({ title: 'Hello', body: 'World', data: { id: 1 } })
// Or against the PushNotifications class
expect(PushNotifications).toHavePushedNotification({ title: 'Hello', body: 'World', data: { id: 1 } })
})
toHavePushedNotificationTo
import { PushNotifications } from '@universal-packages/push-notifications'
import config from './config'
it('should push notification', async () => {
const pushNotifications = new PushNotifications(config)
await pushNotifications.pushNotification([deviceToken], { title: 'Hello', body: 'World', data: { id: 1 } })
expect(pushNotifications).toHavePushedNotificationTo(deviceToken, { title: 'Hello', body: 'World', data: { id: 1 } })
// Or against the PushNotifications class
expect(PushNotifications).toHavePushedNotificationTo(deviceToken, { title: 'Hello', body: 'World', data: { id: 1 } })
})
toHavePushedAndroidNotification
import { PushNotifications } from '@universal-packages/push-notifications'
import config from './config'
it('should push notification', async () => {
const pushNotifications = new PushNotifications(config)
await pushNotifications.pushNotification([androidDeviceToken], { title: 'Hello', body: 'World', data: { id: 1 } })
expect(pushNotifications).toHavePushedAndroidNotification({ title: 'Hello', body: 'World', data: { id: 1 } })
// Or against the PushNotifications class
expect(PushNotifications).toHavePushedAndroidNotification({ title: 'Hello', body: 'World', data: { id: 1 } })
})
toHavePushedAndroidNotificationTo
import { PushNotifications } from '@universal-packages/push-notifications'
import config from './config'
it('should push notification', async () => {
const pushNotifications = new PushNotifications(config)
await pushNotifications.pushNotification([androidDeviceToken], { title: 'Hello', body: 'World', data: { id: 1 } })
expect(pushNotifications).toHavePushedAndroidNotificationTo(androidDeviceToken, { title: 'Hello', body: 'World', data: { id: 1 } })
// Or against the PushNotifications class
expect(PushNotifications).toHavePushedAndroidNotificationTo(androidDeviceToken, { title: 'Hello', body: 'World', data: { id: 1 } })
})
toHavePushedIosNotification
import { PushNotifications } from '@universal-packages/push-notifications'
import config from './config'
it('should push notification', async () => {
const pushNotifications = new PushNotifications(config)
await pushNotifications.pushNotification([androidDeviceToken], { title: 'Hello', body: 'World', data: { id: 1 } })
expect(pushNotifications).toHavePushedIosNotification({ title: 'Hello', body: 'World', data: { id: 1 } })
// Or against the PushNotifications class
expect(PushNotifications).toHavePushedIosNotification({ title: 'Hello', body: 'World', data: { id: 1 } })
})
toHavePushedIosNotificationTo
import { PushNotifications } from '@universal-packages/push-notifications'
import config from './config'
it('should push notification', async () => {
const pushNotifications = new PushNotifications(config)
await pushNotifications.pushNotification([iosDeviceToken], { title: 'Hello', body: 'World', data: { id: 1 } })
expect(pushNotifications).toHavePushedIosNotificationTo(iosDeviceToken, { title: 'Hello', body: 'World', data: { id: 1 } })
// Or against the PushNotifications class
expect(PushNotifications).toHavePushedIosNotificationTo(iosDeviceToken, { title: 'Hello', body: 'World', data: { id: 1 } })
})
Typescript
In order for typescript to see the global types you need to reference the types somewhere in your project, normally ./src/globals.d.ts
.
/// <reference types="@universal-packages/push-notifications-jest" />
This library is developed in TypeScript and shipped fully typed.
Contributing
The development of this library happens in the open on GitHub, and we are grateful to the community for contributing bugfixes and improvements. Read below to learn how you can take part in improving this library.