@@ -416,6 +416,74 @@ func TestBaseClient_GetTransactionResult(t *testing.T) {
416416 }))
417417}
418418
419+ func TestBaseClient_GetScheduledTransaction (t * testing.T ) {
420+ const handlerName = "getScheduledTransaction"
421+
422+ t .Run ("Success" , clientTest (func (ctx context.Context , t * testing.T , handler * mockHandler , client * Client ) {
423+ httpTx := unittest .TransactionFlowFixture ()
424+ expectedTx , err := convert .ToTransaction (& httpTx )
425+ assert .NoError (t , err )
426+
427+ var scheduledTxID uint64 = 42
428+ handler .
429+ On (handlerName , mock .Anything , scheduledTxID , false ).
430+ Return (& httpTx , nil )
431+
432+ tx , err := client .GetScheduledTransaction (ctx , scheduledTxID )
433+ assert .NoError (t , err )
434+ assert .Equal (t , tx , expectedTx )
435+ }))
436+
437+ t .Run ("Not Found" , clientTest (func (ctx context.Context , t * testing.T , handler * mockHandler , client * Client ) {
438+ handler .On (handlerName , mock .Anything , mock .Anything , mock .Anything ).Return (nil , HTTPError {
439+ Url : "/" ,
440+ Code : 404 ,
441+ Message : "scheduled tx not found" ,
442+ })
443+
444+ tx , err := client .GetScheduledTransaction (ctx , uint64 (99 ))
445+ assert .EqualError (t , err , "scheduled tx not found" )
446+ assert .Nil (t , tx )
447+ }))
448+ }
449+
450+ func TestBaseClient_GetScheduledTransactionResult (t * testing.T ) {
451+ const handlerName = "getScheduledTransaction"
452+
453+ t .Run ("Success" , clientTest (func (ctx context.Context , t * testing.T , handler * mockHandler , client * Client ) {
454+ httpTx := unittest .TransactionFlowFixture ()
455+ httpTxRes := unittest .TransactionResultFlowFixture (flow .EventEncodingVersionJSONCDC )
456+ httpTx .Result = & httpTxRes
457+ expectedTx , err := convert .ToTransaction (& httpTx )
458+ assert .NoError (t , err )
459+
460+ expectedTxRes , err := convert .ToTransactionResult (& httpTxRes , nil )
461+ assert .NoError (t , err )
462+
463+ var scheduledTxID uint64 = 42
464+ handler .
465+ On (handlerName , mock .Anything , scheduledTxID , true ).
466+ Return (& httpTx , nil )
467+
468+ txRes , err := client .GetScheduledTransactionResult (ctx , scheduledTxID )
469+ assert .NoError (t , err )
470+ assert .Equal (t , txRes , expectedTxRes )
471+ _ = expectedTx // suppress unused
472+ }))
473+
474+ t .Run ("Not Found" , clientTest (func (ctx context.Context , t * testing.T , handler * mockHandler , client * Client ) {
475+ handler .On (handlerName , mock .Anything , mock .Anything , true ).Return (nil , HTTPError {
476+ Url : "/" ,
477+ Code : 404 ,
478+ Message : "scheduled tx result not found" ,
479+ })
480+
481+ tx , err := client .GetScheduledTransactionResult (ctx , uint64 (99 ))
482+ assert .EqualError (t , err , "scheduled tx result not found" )
483+ assert .Nil (t , tx )
484+ }))
485+ }
486+
419487func TestBaseClient_GetAccount (t * testing.T ) {
420488 const handlerName = "getAccount"
421489
0 commit comments