UNPKG

@roochnetwork/rooch-sdk

Version:
45 lines (36 loc) 1.85 kB
// Copyright (c) RoochNetwork // SPDX-License-Identifier: Apache-2.0 import { describe, it, expect } from 'vitest' import { BitcoinSignMessage } from './authenticator.js' describe('BitcoinSignMessage', () => { it('should correctly construct with valid txData and messageInfo', () => { const txData = new Uint8Array([1, 2, 3, 4]) const messageInfo = 'Test Message Info' const bitcoinSignMessage = new BitcoinSignMessage(txData, messageInfo) expect(bitcoinSignMessage.messagePrefix).toBe('\u0018Bitcoin Signed Message:\n') expect(bitcoinSignMessage.messageInfo).toBe('Rooch Transaction:\nTest Message Info\n') expect(bitcoinSignMessage.txHash).toEqual(txData) }) it('should correctly generate raw message string', () => { const txData = new Uint8Array([1, 2, 3, 4]) const messageInfo = 'Test Message Info' const bitcoinSignMessage = new BitcoinSignMessage(txData, messageInfo) expect(bitcoinSignMessage.txHash).toEqual(txData) expect(bitcoinSignMessage.raw()).toBe('Rooch Transaction:\nTest Message Info\n01020304') }) it('should handle empty messageInfo gracefully', () => { const txData = new Uint8Array([]) const messageInfo = '' const bitcoinSignMessage = new BitcoinSignMessage(txData, messageInfo) expect(bitcoinSignMessage.messageInfo).toBe('Rooch Transaction:\n') expect(bitcoinSignMessage.raw()).toBe('Rooch Transaction:\n') }) it('should correctly encode message with valid txHash and messageInfo', () => { const txData = new Uint8Array([0x01, 0x02, 0x03, 0x04]) const messageInfo = 'Example message info' const bitcoinSignMessage = new BitcoinSignMessage(txData, messageInfo) const encodedData = bitcoinSignMessage.encode() expect(encodedData).toBeInstanceOf(Uint8Array) expect(encodedData.length).toBeLessThanOrEqual(255) }) })