@@ -904,6 +904,85 @@ func TestClient_GetTransactionResultsByBlockID(t *testing.T) {
904904 }))
905905}
906906
907+ func TestClient_GetScheduledTransaction (t * testing.T ) {
908+ txs := test .TransactionGenerator ()
909+
910+ t .Run ("Success" , clientTest (func (t * testing.T , ctx context.Context , rpc * mocks.MockRPCClient , c * BaseClient ) {
911+ var scheduledTxID uint64 = 42
912+ expectedTx := txs .New ()
913+
914+ txMsg , err := convert .TransactionToMessage (* expectedTx )
915+ require .NoError (t , err )
916+
917+ response := & access.TransactionResponse {
918+ Transaction : txMsg ,
919+ }
920+
921+ rpc .On ("GetScheduledTransaction" , ctx , mock .Anything ).Return (response , nil )
922+
923+ tx , err := c .GetScheduledTransaction (ctx , scheduledTxID )
924+ require .NoError (t , err )
925+
926+ assert .Equal (t , expectedTx , tx )
927+ }))
928+
929+ t .Run ("Not found error" , clientTest (func (t * testing.T , ctx context.Context , rpc * mocks.MockRPCClient , c * BaseClient ) {
930+ var scheduledTxID uint64 = 99
931+
932+ rpc .On ("GetScheduledTransaction" , ctx , mock .Anything ).
933+ Return (nil , errNotFound )
934+
935+ tx , err := c .GetScheduledTransaction (ctx , scheduledTxID )
936+ assert .Error (t , err )
937+ assert .Equal (t , codes .NotFound , status .Code (err ))
938+ assert .Nil (t , tx )
939+ }))
940+ }
941+
942+ func TestClient_GetScheduledTransactionResult (t * testing.T ) {
943+ t .Run ("Success" , clientTest (func (t * testing.T , ctx context.Context , rpc * mocks.MockRPCClient , c * BaseClient ) {
944+ results := test .TransactionResultGenerator (flow .EventEncodingVersionCCF )
945+ var scheduledTxID uint64 = 42
946+ expectedResult := results .New ()
947+ response , err := convert .TransactionResultToMessage (expectedResult , flow .EventEncodingVersionCCF )
948+ require .NoError (t , err )
949+
950+ rpc .On ("GetScheduledTransactionResult" , ctx , mock .Anything ).Return (response , nil )
951+
952+ result , err := c .GetScheduledTransactionResult (ctx , scheduledTxID )
953+ require .NoError (t , err )
954+
955+ assert .Equal (t , expectedResult , * result )
956+ }))
957+
958+ t .Run ("Success with jsoncdc" , clientTest (func (t * testing.T , ctx context.Context , rpc * mocks.MockRPCClient , c * BaseClient ) {
959+ results := test .TransactionResultGenerator (flow .EventEncodingVersionJSONCDC )
960+ var scheduledTxID uint64 = 42
961+ expectedResult := results .New ()
962+ response , err := convert .TransactionResultToMessage (expectedResult , flow .EventEncodingVersionJSONCDC )
963+ require .NoError (t , err )
964+
965+ rpc .On ("GetScheduledTransactionResult" , ctx , mock .Anything ).Return (response , nil )
966+
967+ result , err := c .GetScheduledTransactionResult (ctx , scheduledTxID )
968+ require .NoError (t , err )
969+
970+ assert .Equal (t , expectedResult , * result )
971+ }))
972+
973+ t .Run ("Not found error" , clientTest (func (t * testing.T , ctx context.Context , rpc * mocks.MockRPCClient , c * BaseClient ) {
974+ var scheduledTxID uint64 = 99
975+
976+ rpc .On ("GetScheduledTransactionResult" , ctx , mock .Anything ).
977+ Return (nil , errNotFound )
978+
979+ result , err := c .GetScheduledTransactionResult (ctx , scheduledTxID )
980+ assert .Error (t , err )
981+ assert .Equal (t , codes .NotFound , status .Code (err ))
982+ assert .Nil (t , result )
983+ }))
984+ }
985+
907986func TestClient_GetAccountAtLatestBlock (t * testing.T ) {
908987 accounts := test .AccountGenerator ()
909988 addresses := test .AddressGenerator ()
0 commit comments