#include #include #include "src/services/accountservice.h" #include "src/db/dao/accountdao.h" #include "src/db/databasemanager.h" int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); // Ensure DB is initialized DatabaseManager::instance().database(); // triggers init if needed AccountService service; // Create a test account Account testAcc; testAcc.setEmail("testdelete@example.com"); testAcc.setDisplayName("Test Delete"); testAcc.setType(AccountType::IMAP); Account::ConnectionSettings settings; settings.incomingHost = "imap.example.com"; settings.incomingPort = 993; settings.incomingSsl = true; settings.outgoingHost = "smtp.example.com"; settings.outgoingPort = 465; settings.outgoingSsl = true; settings.username = "testdelete@example.com"; settings.password = "testpass"; settings.authMethod = "LOGIN"; testAcc.setConnectionSettings(settings); qDebug() << "Adding test account..."; service.addAccount(testAcc); qint64 addedId = testAcc.id(); // after addAccount, id should be set via DAO insert returning id qDebug() << "Added account ID:" << addedId; // Verify exists QVector accounts = AccountDao::findAll(); qDebug() << "Accounts after add:" << accounts.size(); for (const Account &acc : accounts) { qDebug() << " ID:" << acc.id() << "Email:" << acc.email(); } // Remove account qDebug() << "Removing account ID:" << addedId; service.removeAccount(addedId); // Verify removed accounts = AccountDao::findAll(); qDebug() << "Accounts after remove:" << accounts.size(); for (const Account &acc : accounts) { qDebug() << " ID:" << acc.id() << "Email:" << acc.email(); } if (accounts.isEmpty()) { qDebug() << "SUCCESS: No accounts remain."; return 0; } else { qDebug() << "FAILURE: Accounts still present."; return 1; } }