Преглед изворни кода

Fix test for deleted account

tags/v0.10.5
Kristijan Mitrovic пре 4 година
родитељ
комит
be387b1965
2 измењених фајлова са 16 додато и 7 уклоњено
  1. +4
    -0
      bubble-server/src/main/java/bubble/dao/account/AccountDAO.java
  2. +12
    -7
      bubble-server/src/test/java/bubble/test/system/AccountDeletionTest.java

+ 4
- 0
bubble-server/src/main/java/bubble/dao/account/AccountDAO.java Прегледај датотеку

@@ -48,6 +48,7 @@ import static java.util.concurrent.TimeUnit.MINUTES;
import static org.cobbzilla.util.daemon.ZillaRuntime.daemon;
import static org.cobbzilla.wizard.model.IdentifiableBase.CTIME_ASC;
import static org.cobbzilla.wizard.resources.ResourceUtil.invalidEx;
import static org.hibernate.criterion.Restrictions.isNotNull;

@Repository @Slf4j
public class AccountDAO extends AbstractCRUDDAO<Account> implements SqlViewSearchableDAO<Account> {
@@ -425,4 +426,7 @@ public class AccountDAO extends AbstractCRUDDAO<Account> implements SqlViewSearc
}
}

@NonNull public List<Account> findDeleted() {
return list(criteria().add(isNotNull("deleted")));
}
}

+ 12
- 7
bubble-server/src/test/java/bubble/test/system/AccountDeletionTest.java Прегледај датотеку

@@ -24,27 +24,32 @@ public class AccountDeletionTest extends ActivatedBubbleModelTestBase {

modelTest("account_deletion/delete_account_with_payments");

assertEquals("Archived payments record not created for deleted user", 1, archivedInfoDAO.countAll().intValue());

final var accountDAO = getBean(AccountDAO.class);
final var deletedAccounts = accountDAO.findDeleted();
// there should be just 1 deleted account - finding it by corresponding hashed password value:
final var deletedAccount = accountDAO.findByUniqueField("hashedPassword", HashedPassword.DELETED);
// just in case:
assertEquals("Wrong number of deleted accounts found", 1, deletedAccounts.size());
final var deletedAccount = deletedAccounts.get(0);
assertEquals("Deleted account has wrong hashed password",
HashedPassword.DELETED.getHashedPassword(),
deletedAccount.getHashedPassword().getHashedPassword());
assertTrue("Account found with 'deleted' password is not marked as deleted", deletedAccount.deleted());

// there should be just 1 archived payment info records corresponding to that 1 deleted account
assertEquals("Archived payments record not created for deleted user", 1, archivedInfoDAO.countAll().intValue());

final var archivedInfo = archivedInfoDAO.findByAccountUuid(deletedAccount.getUuid());
assertNotNull("Archived payment info not found for deleted user", archivedInfo);

final var archivedBills = archivedInfo.getBills();
assertEquals("Only 1 bill should be in for deleted account", archivedBills.length);
assertEquals("Only 1 bill should be in for deleted account", 1, archivedBills.length);

final var archivedPayments = archivedInfo.getPayments();
assertEquals("Only 1 bill should be in for deleted account", archivedPayments.length);
assertEquals("Only 1 payment should be in for deleted account", 1, archivedPayments.length);
assertEquals("Archived payment should be for archived bill",
archivedBills[0].getUuid(), archivedPayments[0].getBill());

final var archivedPaymentMethods = archivedInfo.getPaymentMethods();
assertEquals("Only 1 bill should be in for deleted account", archivedPaymentMethods.length);
assertEquals("Only 1 payment method should be in for deleted account", 1, archivedPaymentMethods.length);
assertEquals("Archived payment method should be for used within archived payment",
archivedPayments[0].getPaymentMethod(), archivedPaymentMethods[0].getUuid());
}


Loading…
Откажи
Сачувај