@@ -575,3 +575,67 @@ TEST(api, test_transactions_search) { // NOLINT
575
575
const char * signature = data[" signature" ];
576
576
ASSERT_STREQ (" dummy" , signature);
577
577
}
578
+
579
+ /* test_transactions_transactions_send
580
+ *
581
+ * Expected Response:
582
+ * {
583
+ * "data": {
584
+ * "accept": [
585
+ * "dummy"
586
+ * ],
587
+ * "broadcast": [
588
+ * "dummy"
589
+ * ],
590
+ * "excess": [],
591
+ * "invalid": []
592
+ * },
593
+ * "errors": null
594
+ * }
595
+ */
596
+ TEST (api, test_transactions_send) { // NOLINT
597
+ Ark::Client::Connection<MockApi> connection (" 167.114.29.55" , 4003 );
598
+
599
+ auto apiVersion = connection.api .version ();
600
+ ASSERT_EQ (2 , apiVersion);
601
+
602
+ const std::string response = R"( {
603
+ "data": {
604
+ "accept": [
605
+ "dummy"
606
+ ],
607
+ "broadcast": [
608
+ "dummy"
609
+ ],
610
+ "excess": [],
611
+ "invalid": []
612
+ },
613
+ "errors": null
614
+ })" ;
615
+
616
+ EXPECT_CALL (connection.api .transactions , send (_)).Times (1 ).WillOnce (Return (response));
617
+
618
+ std::string jsonTransaction = " {\" transactions\" :[{\" type\" :0,\" amount\" :1,\" fee\" :10000000,\" id\" :\" bc5bb5cd23521c041fca17b5f78d6f3621fc07ab8f6581aff1b6eb86fa4bafe2\" ,\" recipientId\" :\" DNSrsDUq5injGBdNXPV7v7u1Qy9LZfWEdM\" ,\" senderPublicKey\" :\" 0216fa03d378b6ad01325e186ad2cbb9d18976d5b27d0ca74b4f92bb6bf9a6d4d9\" ,\" signature\" :\" 3044022014204515b82cdd47513377d3e80e6b5f4fd1ab0fb6b4c181e09a7a30428d542502205ba076a332997053e1d31b506777a99f93bcb11294cd678ebe2da313eb02cae2\" ,\" timestamp\" :58351951,\" vendorField\" :\" 7ad0eeb302ee7d9b4e58cf52daa9ece7922ad92d14f0407e3881597bf3c9c1c6\" }]}" ;
619
+
620
+ const auto transaction = connection.api .transactions .send (jsonTransaction);
621
+
622
+ DynamicJsonBuffer jsonBuffer (transaction.size ());
623
+ JsonObject& root = jsonBuffer.parseObject (transaction);
624
+
625
+ JsonObject& data = root[" data" ];
626
+
627
+ std::string accept = data[" accept" ];
628
+ ASSERT_TRUE (accept.length () != 0 );
629
+
630
+ std::string broadcast = data[" broadcast" ];
631
+ ASSERT_TRUE (broadcast.length () != 0 );
632
+
633
+ std::string excess = data[" excess" ];
634
+ ASSERT_TRUE (excess.length () == 2 );
635
+
636
+ std::string invalid = data[" invalid" ];
637
+ ASSERT_TRUE (invalid.length () == 2 );
638
+
639
+ std::string errors = data[" errors" ];
640
+ ASSERT_TRUE (errors.length () == 0 );
641
+ }
0 commit comments