20TEST(TransactionsVaultCreateTests, BuilderSettersRoundTrip)
23 auto const [publicKey, secretKey] =
61 auto tx = builder.
build(publicKey, secretKey);
64 EXPECT_TRUE(tx.validate(reason)) << reason;
67 EXPECT_FALSE(tx.getSigningPubKey().empty());
68 EXPECT_TRUE(tx.hasTxnSignature());
71 EXPECT_EQ(tx.getAccount(), accountValue);
72 EXPECT_EQ(tx.getSequence(), sequenceValue);
73 EXPECT_EQ(tx.getFee(), feeValue);
77 auto const& expected = assetValue;
78 auto const actual = tx.getAsset();
84 auto const& expected = assetsMaximumValue;
85 auto const actualOpt = tx.getAssetsMaximum();
86 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfAssetsMaximum should be present";
88 EXPECT_TRUE(tx.hasAssetsMaximum());
92 auto const& expected = mPTokenMetadataValue;
93 auto const actualOpt = tx.getMPTokenMetadata();
94 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfMPTokenMetadata should be present";
96 EXPECT_TRUE(tx.hasMPTokenMetadata());
100 auto const& expected = domainIDValue;
101 auto const actualOpt = tx.getDomainID();
102 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfDomainID should be present";
104 EXPECT_TRUE(tx.hasDomainID());
108 auto const& expected = withdrawalPolicyValue;
109 auto const actualOpt = tx.getWithdrawalPolicy();
110 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfWithdrawalPolicy should be present";
112 EXPECT_TRUE(tx.hasWithdrawalPolicy());
116 auto const& expected = dataValue;
117 auto const actualOpt = tx.getData();
118 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfData should be present";
120 EXPECT_TRUE(tx.hasData());
124 auto const& expected = scaleValue;
125 auto const actualOpt = tx.getScale();
126 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfScale should be present";
128 EXPECT_TRUE(tx.hasScale());
132 auto const& expected = vaultKindValue;
133 auto const actualOpt = tx.getVaultKind();
134 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfVaultKind should be present";
136 EXPECT_TRUE(tx.hasVaultKind());
140 auto const& expected = subscriptionDateValue;
141 auto const actualOpt = tx.getSubscriptionDate();
142 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfSubscriptionDate should be present";
144 EXPECT_TRUE(tx.hasSubscriptionDate());
148 auto const& expected = redemptionDateValue;
149 auto const actualOpt = tx.getRedemptionDate();
150 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfRedemptionDate should be present";
152 EXPECT_TRUE(tx.hasRedemptionDate());
159TEST(TransactionsVaultCreateTests, BuilderFromStTxRoundTrip)
162 auto const [publicKey, secretKey] =
194 initialBuilder.
setData(dataValue);
195 initialBuilder.
setScale(scaleValue);
200 auto initialTx = initialBuilder.
build(publicKey, secretKey);
205 auto rebuiltTx = builderFromTx.
build(publicKey, secretKey);
208 EXPECT_TRUE(rebuiltTx.validate(reason)) << reason;
211 EXPECT_EQ(rebuiltTx.getAccount(), accountValue);
212 EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue);
213 EXPECT_EQ(rebuiltTx.getFee(), feeValue);
217 auto const& expected = assetValue;
218 auto const actual = rebuiltTx.getAsset();
224 auto const& expected = assetsMaximumValue;
225 auto const actualOpt = rebuiltTx.getAssetsMaximum();
226 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfAssetsMaximum should be present";
231 auto const& expected = mPTokenMetadataValue;
232 auto const actualOpt = rebuiltTx.getMPTokenMetadata();
233 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfMPTokenMetadata should be present";
238 auto const& expected = domainIDValue;
239 auto const actualOpt = rebuiltTx.getDomainID();
240 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfDomainID should be present";
245 auto const& expected = withdrawalPolicyValue;
246 auto const actualOpt = rebuiltTx.getWithdrawalPolicy();
247 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfWithdrawalPolicy should be present";
252 auto const& expected = dataValue;
253 auto const actualOpt = rebuiltTx.getData();
254 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfData should be present";
259 auto const& expected = scaleValue;
260 auto const actualOpt = rebuiltTx.getScale();
261 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfScale should be present";
266 auto const& expected = vaultKindValue;
267 auto const actualOpt = rebuiltTx.getVaultKind();
268 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfVaultKind should be present";
273 auto const& expected = subscriptionDateValue;
274 auto const actualOpt = rebuiltTx.getSubscriptionDate();
275 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfSubscriptionDate should be present";
280 auto const& expected = redemptionDateValue;
281 auto const actualOpt = rebuiltTx.getRedemptionDate();
282 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfRedemptionDate should be present";
317TEST(TransactionsVaultCreateTests, OptionalFieldsReturnNullopt)
320 auto const [publicKey, secretKey] =
340 auto tx = builder.
build(publicKey, secretKey);
343 EXPECT_FALSE(tx.hasAssetsMaximum());
344 EXPECT_FALSE(tx.getAssetsMaximum().has_value());
345 EXPECT_FALSE(tx.hasMPTokenMetadata());
346 EXPECT_FALSE(tx.getMPTokenMetadata().has_value());
347 EXPECT_FALSE(tx.hasDomainID());
348 EXPECT_FALSE(tx.getDomainID().has_value());
349 EXPECT_FALSE(tx.hasWithdrawalPolicy());
350 EXPECT_FALSE(tx.getWithdrawalPolicy().has_value());
351 EXPECT_FALSE(tx.hasData());
352 EXPECT_FALSE(tx.getData().has_value());
353 EXPECT_FALSE(tx.hasScale());
354 EXPECT_FALSE(tx.getScale().has_value());
355 EXPECT_FALSE(tx.hasVaultKind());
356 EXPECT_FALSE(tx.getVaultKind().has_value());
357 EXPECT_FALSE(tx.hasSubscriptionDate());
358 EXPECT_FALSE(tx.getSubscriptionDate().has_value());
359 EXPECT_FALSE(tx.hasRedemptionDate());
360 EXPECT_FALSE(tx.getRedemptionDate().has_value());