community-dapp/packages/DApp/test/helpers/wakuMessage/createWakuMessage.test.ts
2021-06-28 13:43:22 +02:00

53 lines
1.9 KiB
TypeScript

import { expect } from 'chai'
import wakuMessage from '../../../src/helpers/wakuMessage'
import { MockProvider } from 'ethereum-waffle'
import { JsonRpcSigner } from '@ethersproject/providers'
describe('wakuMessage', () => {
describe('create', () => {
const [alice, bob] = new MockProvider().getWallets()
it('success', async () => {
const msg = await wakuMessage.create(alice.address, alice as unknown as JsonRpcSigner, 1, 100, 1, '/test/')
expect(msg?.payloadAsUtf8).to.not.be.undefined
if (msg?.payloadAsUtf8) {
const obj = JSON.parse(msg?.payloadAsUtf8)
expect(obj.address).to.eq(alice.address)
expect(obj.vote).to.eq('yes')
expect(obj.sntAmount.hex).to.eq('0x64')
expect(obj.nonce).to.eq(1)
expect(obj.sessionID).to.eq(1)
}
})
it('different payload', async () => {
const msg = await wakuMessage.create(alice.address, alice as unknown as JsonRpcSigner, 2, 1000, 0, '/test/')
expect(msg?.payloadAsUtf8).to.not.be.undefined
if (msg?.payloadAsUtf8) {
const obj = JSON.parse(msg?.payloadAsUtf8)
expect(obj.address).to.eq(alice.address)
expect(obj.vote).to.eq('no')
expect(obj.sntAmount.hex).to.eq('0x03e8')
expect(obj.nonce).to.eq(1)
expect(obj.sessionID).to.eq(2)
}
})
it('no address', async () => {
const msg = await wakuMessage.create(undefined, alice as unknown as JsonRpcSigner, 1, 100, 1, '/test/')
expect(msg?.payloadAsUtf8).to.be.undefined
})
it('no signer', async () => {
const msg = await wakuMessage.create(alice.address, undefined, 1, 100, 1, '/test/')
expect(msg?.payloadAsUtf8).to.be.undefined
})
it('different signer', async () => {
const msg = await wakuMessage.create(alice.address, bob as unknown as JsonRpcSigner, 1, 100, 1, '/test/')
expect(msg?.payloadAsUtf8).to.be.undefined
})
})
})