DeliverMax alias of Payment tx (#979)

Fix #973
This commit is contained in:
cyan317
2023-11-09 13:35:08 +00:00
committed by GitHub
parent b016c1d7ba
commit feae85782c
11 changed files with 186 additions and 8 deletions

View File

@@ -21,8 +21,11 @@
#include <util/Fixtures.h>
#include <util/TestObject.h>
#include <boost/json.hpp>
#include <fmt/core.h>
#include <array>
#include <string>
#include <variant>
using namespace rpc;
@@ -337,3 +340,81 @@ TEST_F(RPCHelpersTest, DecodeInvalidCTID)
EXPECT_FALSE(decodeCTID('c'));
EXPECT_FALSE(decodeCTID(true));
}
TEST_F(RPCHelpersTest, DeliverMaxAliasV1)
{
std::array<std::string, 3> const inputArray = {
R"({
"TransactionType": "Payment",
"Amount": {
"test": "test"
}
})",
R"({
"TransactionType": "OfferCreate",
"Amount": {
"test": "test"
}
})",
R"({
"TransactionType": "Payment",
"Amount1": {
"test": "test"
}
})"};
std::array<std::string, 3> outputArray = {
R"({
"TransactionType": "Payment",
"Amount": {
"test": "test"
},
"DeliverMax": {
"test": "test"
}
})",
R"({
"TransactionType": "OfferCreate",
"Amount": {
"test": "test"
}
})",
R"({
"TransactionType": "Payment",
"Amount1": {
"test": "test"
}
})"};
for (size_t i = 0; i < inputArray.size(); i++) {
auto req = boost::json::parse(inputArray[i]).as_object();
insertDeliverMaxAlias(req, 1);
EXPECT_EQ(req, boost::json::parse(outputArray[i]).as_object());
}
}
TEST_F(RPCHelpersTest, DeliverMaxAliasV2)
{
auto req = boost::json::parse(
R"({
"TransactionType": "Payment",
"Amount": {
"test": "test"
}
})"
)
.as_object();
insertDeliverMaxAlias(req, 2);
EXPECT_EQ(
req,
boost::json::parse(
R"({
"TransactionType": "Payment",
"DeliverMax": {
"test": "test"
}
})"
)
);
}