@@ -21,7 +21,7 @@ import { TransactionMapping } from '../../../src/core/utils';
2121import { CreateTransactionFromPayload } from '../../../src/infrastructure/transaction' ;
2222import { PersistentHarvestingDelegationMessage , UInt64 } from '../../../src/model' ;
2323import { Account , Address } from '../../../src/model/account' ;
24- import { EmptyMessage , MessageMarker , MessageType , PlainMessage } from '../../../src/model/message' ;
24+ import { EmptyMessage , MessageMarker , MessageType , PlainMessage , RawMessage } from '../../../src/model/message' ;
2525import { Mosaic , MosaicId } from '../../../src/model/mosaic' ;
2626import { NamespaceId } from '../../../src/model/namespace' ;
2727import { NetworkType } from '../../../src/model/network' ;
@@ -133,6 +133,29 @@ describe('TransferTransaction', () => {
133133 ) ;
134134 } ) ;
135135
136+ it ( 'should createComplete an TransferTransaction object with raw message' , ( ) => {
137+ // Arrange:
138+ const messageBytes = new Uint8Array ( [ 3 , 2 , 1 , 123 , 0 , 255 ] ) ;
139+ const messageHex = '0302017B00FF' ;
140+
141+ // Act:
142+ const transferTransaction = TransferTransaction . create (
143+ Deadline . create ( epochAdjustment ) ,
144+ testAddress ,
145+ [ ] ,
146+ RawMessage . create ( messageBytes ) ,
147+ TestNetworkType ,
148+ ) ;
149+ const transactionPayload = transferTransaction . signWith ( account , generationHash ) . payload ;
150+ const recreatedTransferTransaction = TransferTransaction . createFromPayload ( transactionPayload ) as TransferTransaction ;
151+
152+ // Assert:
153+ expect ( transferTransaction . message . type ) . to . be . equal ( MessageType . RawMessage ) ;
154+ expect ( transferTransaction . message . payload ) . to . be . equal ( messageHex ) ;
155+ expect ( recreatedTransferTransaction . message . type ) . to . be . equal ( MessageType . RawMessage ) ;
156+ expect ( recreatedTransferTransaction . message . payload ) . to . be . equal ( messageHex ) ;
157+ } ) ;
158+
136159 it ( 'should createComplete an TransferTransaction object and sign it with mosaics' , ( ) => {
137160 const transferTransaction = TransferTransaction . create (
138161 Deadline . create ( epochAdjustment ) ,
0 commit comments