@@ -848,6 +848,37 @@ describe('AgentDwnApi', () => {
848848 await testHarness . closeStorage ( ) ;
849849 } ) ;
850850
851+ it ( 'handles sending existing message using `messageCid` request property' , async ( ) => {
852+ // Create test data to write.
853+ const dataBytes = Convert . string ( 'Hello, world!' ) . toUint8Array ( ) ;
854+
855+ // Write a record to the local DWN to use for the test.
856+ let writeResponse = await testHarness . agent . dwn . processRequest ( {
857+ author : alice . did . uri ,
858+ target : alice . did . uri ,
859+ messageType : DwnInterface . RecordsWrite ,
860+ messageParams : {
861+ dataFormat : 'text/plain' ,
862+ schema : 'https://schemas.xyz/example'
863+ } ,
864+ dataStream : new Blob ( [ dataBytes ] )
865+ } ) ;
866+ expect ( writeResponse . reply . status . code ) . to . equal ( 202 ) ;
867+
868+ // sendRequest using the message's `messageCid`
869+ const sendResponse = await testHarness . agent . dwn . sendRequest ( {
870+ author : alice . did . uri ,
871+ target : alice . did . uri ,
872+ messageType : DwnInterface . RecordsWrite ,
873+ messageCid : writeResponse . messageCid
874+ } ) ;
875+
876+ // Verify the response.
877+ expect ( sendResponse . message ) . to . deep . equal ( writeResponse . message ) ;
878+ expect ( sendResponse . messageCid ) . to . equal ( writeResponse . messageCid ) ;
879+ expect ( sendResponse . reply . status . code ) . to . equal ( 202 ) ;
880+ } ) ;
881+
851882 it ( 'handles MessagesQuery' , async ( ) => {
852883 const testCursor = {
853884 messageCid : 'foo' ,
@@ -1029,9 +1060,6 @@ describe('AgentDwnApi', () => {
10291060 expect ( messagesReadReply . status . code ) . to . equal ( 200 ) ;
10301061 const retrievedRecordsWrite = messagesReadReply . entry ! ;
10311062 expect ( retrievedRecordsWrite . message ) . to . have . property ( 'recordId' , writeMessage . recordId ) ;
1032-
1033- const readDataBytes = await NodeStream . consumeToBytes ( { readable : retrievedRecordsWrite . data ! } ) ;
1034- expect ( readDataBytes ) . to . deep . equal ( dataBytes ) ;
10351063 } ) ;
10361064
10371065 it ( 'handles ProtocolsConfigure' , async ( ) => {
@@ -1232,9 +1260,6 @@ describe('AgentDwnApi', () => {
12321260 expect ( readReply . record ) . to . have . property ( 'data' ) ;
12331261 expect ( readReply . record ) . to . have . property ( 'descriptor' ) ;
12341262 expect ( readReply . record ) . to . have . property ( 'recordId' , writeMessage . recordId ) ;
1235-
1236- const readDataBytes = await NodeStream . consumeToBytes ( { readable : readReply . record ! . data } ) ;
1237- expect ( readDataBytes ) . to . deep . equal ( dataBytes ) ;
12381263 } ) ;
12391264
12401265 it ( 'handles RecordsSubscribe message' , async ( ) => {
0 commit comments