Skip to content

Commit

Permalink
Merge pull request #17 from gradido/fix_getTransferAmount
Browse files Browse the repository at this point in the history
Fix get transfer amount
  • Loading branch information
einhornimmond authored Sep 2, 2024
2 parents 736a3cb + c5017d8 commit 9b8a945
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/data/TransactionBody.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ namespace gradido {
{
if (isTransfer()) { return &mTransfer->getSender(); }
else if (isDeferredTransfer()) { return &mDeferredTransfer->getTransfer().getSender(); }
else if (isCreation()) { &mCreation->getRecipient(); }
else if (isCreation()) { return &mCreation->getRecipient(); }
return nullptr;
}

Expand Down
29 changes: 28 additions & 1 deletion test/TransactionBodyBuilderTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ TEST(TransactionBodyBuilderTest, CommunityRoot) {
EXPECT_FALSE(transactionBody->isRegisterAddress());
EXPECT_FALSE(transactionBody->isTransfer());

auto transferAmount = transactionBody->getTransferAmount();
EXPECT_FALSE(transferAmount);

auto communityRoot = transactionBody->getCommunityRoot();

EXPECT_EQ(*communityRoot->getPubkey(), *g_KeyPairs[0].publicKey);
Expand Down Expand Up @@ -50,6 +53,9 @@ TEST(TransactionBodyBuilderTest, RegisterAddressUserOnly) {
EXPECT_EQ(transactionBody->getMemo(), "");
EXPECT_EQ(transactionBody->getCreatedAt(), Timestamp(now));

auto transferAmount = transactionBody->getTransferAmount();
EXPECT_FALSE(transferAmount);

auto registerAddress = transactionBody->getRegisterAddress();
EXPECT_EQ(registerAddress->getAddressType(), AddressType::COMMUNITY_HUMAN);
EXPECT_EQ(*registerAddress->getUserPublicKey(), *g_KeyPairs[3].publicKey);
Expand Down Expand Up @@ -80,6 +86,9 @@ TEST(TransactionBodyBuilderTest, RegisterAddressUserAndAccount) {
EXPECT_EQ(transactionBody->getMemo(), "");
EXPECT_EQ(transactionBody->getCreatedAt(), Timestamp(now));

auto transferAmount = transactionBody->getTransferAmount();
EXPECT_FALSE(transferAmount);

auto registerAddress = transactionBody->getRegisterAddress();
EXPECT_EQ(registerAddress->getAddressType(), AddressType::COMMUNITY_HUMAN);
EXPECT_EQ(*registerAddress->getUserPublicKey(), *g_KeyPairs[3].publicKey);
Expand Down Expand Up @@ -110,8 +119,14 @@ TEST(TransactionBodyBuilderTest, GradidoCreation) {
EXPECT_EQ(transactionBody->getMemo(), memo);
EXPECT_EQ(transactionBody->getCreatedAt(), Timestamp(now));

auto transferAmount = transactionBody->getTransferAmount();
ASSERT_TRUE(transferAmount);
EXPECT_EQ(*transferAmount->getPubkey(), *g_KeyPairs[4].publicKey);
EXPECT_EQ(transferAmount->getCommunityId(), "");
EXPECT_EQ(transferAmount->getAmount().toString(), "1000.0000");

auto creation = transactionBody->getCreation();
auto recipient = creation->getRecipient();
auto& recipient = creation->getRecipient();
EXPECT_EQ(*recipient.getPubkey(), *g_KeyPairs[4].publicKey);
EXPECT_EQ(recipient.getCommunityId(), "");
EXPECT_EQ(recipient.getAmount().toString(), "1000.0000");
Expand Down Expand Up @@ -146,6 +161,12 @@ TEST(TransactionBodyBuilderTest, GradidoTransfer) {
EXPECT_EQ(transactionBody->getMemo(), memo);
EXPECT_EQ(transactionBody->getCreatedAt(), Timestamp(now));

auto transferAmount = transactionBody->getTransferAmount();
ASSERT_TRUE(transferAmount);
EXPECT_EQ(*transferAmount->getPubkey(), *g_KeyPairs[4].publicKey);
EXPECT_EQ(transferAmount->getCommunityId(), "");
EXPECT_EQ(transferAmount->getAmount().toString(), "100.2516");

auto transfer = transactionBody->getTransfer();
auto sender = transfer->getSender();
EXPECT_EQ(*sender.getPubkey(), *g_KeyPairs[4].publicKey);
Expand Down Expand Up @@ -183,6 +204,12 @@ TEST(TransactionBodyBuilderTest, GradidoDeferredTransfer) {
EXPECT_EQ(transactionBody->getMemo(), memo);
EXPECT_EQ(transactionBody->getCreatedAt(), Timestamp(now));

auto transferAmount = transactionBody->getTransferAmount();
ASSERT_TRUE(transferAmount);
EXPECT_EQ(*transferAmount->getPubkey(), *g_KeyPairs[4].publicKey);
EXPECT_EQ(transferAmount->getCommunityId(), "");
EXPECT_EQ(transferAmount->getAmount().toString(), "100.2516");

auto deferredTransfer = transactionBody->getDeferredTransfer();
auto transfer = deferredTransfer->getTransfer();
auto sender = transfer.getSender();
Expand Down

0 comments on commit 9b8a945

Please sign in to comment.