20TEST(TransactionsLoanBrokerSetTests, BuilderSettersRoundTrip)
23 auto const [publicKey, secretKey] =
48 builder.setLoanBrokerID(loanBrokerIDValue);
49 builder.setData(dataValue);
50 builder.setManagementFeeRate(managementFeeRateValue);
51 builder.setDebtMaximum(debtMaximumValue);
52 builder.setCoverRateMinimum(coverRateMinimumValue);
53 builder.setCoverRateLiquidation(coverRateLiquidationValue);
55 auto tx = builder.build(publicKey, secretKey);
58 EXPECT_TRUE(tx.validate(reason)) << reason;
61 EXPECT_FALSE(tx.getSigningPubKey().empty());
62 EXPECT_TRUE(tx.hasTxnSignature());
65 EXPECT_EQ(tx.getAccount(), accountValue);
66 EXPECT_EQ(tx.getSequence(), sequenceValue);
67 EXPECT_EQ(tx.getFee(), feeValue);
71 auto const& expected = vaultIDValue;
72 auto const actual = tx.getVaultID();
78 auto const& expected = loanBrokerIDValue;
79 auto const actualOpt = tx.getLoanBrokerID();
80 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfLoanBrokerID should be present";
82 EXPECT_TRUE(tx.hasLoanBrokerID());
86 auto const& expected = dataValue;
87 auto const actualOpt = tx.getData();
88 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfData should be present";
90 EXPECT_TRUE(tx.hasData());
94 auto const& expected = managementFeeRateValue;
95 auto const actualOpt = tx.getManagementFeeRate();
96 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfManagementFeeRate should be present";
98 EXPECT_TRUE(tx.hasManagementFeeRate());
102 auto const& expected = debtMaximumValue;
103 auto const actualOpt = tx.getDebtMaximum();
104 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfDebtMaximum should be present";
106 EXPECT_TRUE(tx.hasDebtMaximum());
110 auto const& expected = coverRateMinimumValue;
111 auto const actualOpt = tx.getCoverRateMinimum();
112 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfCoverRateMinimum should be present";
114 EXPECT_TRUE(tx.hasCoverRateMinimum());
118 auto const& expected = coverRateLiquidationValue;
119 auto const actualOpt = tx.getCoverRateLiquidation();
120 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfCoverRateLiquidation should be present";
122 EXPECT_TRUE(tx.hasCoverRateLiquidation());
129TEST(TransactionsLoanBrokerSetTests, BuilderFromStTxRoundTrip)
132 auto const [publicKey, secretKey] =
157 initialBuilder.setLoanBrokerID(loanBrokerIDValue);
158 initialBuilder.setData(dataValue);
159 initialBuilder.setManagementFeeRate(managementFeeRateValue);
160 initialBuilder.setDebtMaximum(debtMaximumValue);
161 initialBuilder.setCoverRateMinimum(coverRateMinimumValue);
162 initialBuilder.setCoverRateLiquidation(coverRateLiquidationValue);
164 auto initialTx = initialBuilder.build(publicKey, secretKey);
169 auto rebuiltTx = builderFromTx.
build(publicKey, secretKey);
172 EXPECT_TRUE(rebuiltTx.validate(reason)) << reason;
175 EXPECT_EQ(rebuiltTx.getAccount(), accountValue);
176 EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue);
177 EXPECT_EQ(rebuiltTx.getFee(), feeValue);
181 auto const& expected = vaultIDValue;
182 auto const actual = rebuiltTx.getVaultID();
188 auto const& expected = loanBrokerIDValue;
189 auto const actualOpt = rebuiltTx.getLoanBrokerID();
190 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfLoanBrokerID should be present";
195 auto const& expected = dataValue;
196 auto const actualOpt = rebuiltTx.getData();
197 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfData should be present";
202 auto const& expected = managementFeeRateValue;
203 auto const actualOpt = rebuiltTx.getManagementFeeRate();
204 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfManagementFeeRate should be present";
209 auto const& expected = debtMaximumValue;
210 auto const actualOpt = rebuiltTx.getDebtMaximum();
211 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfDebtMaximum should be present";
216 auto const& expected = coverRateMinimumValue;
217 auto const actualOpt = rebuiltTx.getCoverRateMinimum();
218 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfCoverRateMinimum should be present";
223 auto const& expected = coverRateLiquidationValue;
224 auto const actualOpt = rebuiltTx.getCoverRateLiquidation();
225 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfCoverRateLiquidation should be present";
260TEST(TransactionsLoanBrokerSetTests, OptionalFieldsReturnNullopt)
263 auto const [publicKey, secretKey] =
283 auto tx = builder.build(publicKey, secretKey);
286 EXPECT_FALSE(tx.hasLoanBrokerID());
287 EXPECT_FALSE(tx.getLoanBrokerID().has_value());
288 EXPECT_FALSE(tx.hasData());
289 EXPECT_FALSE(tx.getData().has_value());
290 EXPECT_FALSE(tx.hasManagementFeeRate());
291 EXPECT_FALSE(tx.getManagementFeeRate().has_value());
292 EXPECT_FALSE(tx.hasDebtMaximum());
293 EXPECT_FALSE(tx.getDebtMaximum().has_value());
294 EXPECT_FALSE(tx.hasCoverRateMinimum());
295 EXPECT_FALSE(tx.getCoverRateMinimum().has_value());
296 EXPECT_FALSE(tx.hasCoverRateLiquidation());
297 EXPECT_FALSE(tx.getCoverRateLiquidation().has_value());