File indexing completed on 2025-02-02 05:08:35

0001 /*
0002     SPDX-FileCopyrightText: 2023-2024 Laurent Montel <montel.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "accountconfigurationtest.h"
0008 #include "accountconfigurationbase.h"
0009 #include <QSignalSpy>
0010 #include <QTest>
0011 QTEST_MAIN(AccountConfigurationTest)
0012 class ManualConfigurationImplTest : public AccountConfigurationBase
0013 {
0014 public:
0015     explicit ManualConfigurationImplTest(QObject *parent = nullptr)
0016         : AccountConfigurationBase(parent)
0017     {
0018     }
0019 
0020 protected:
0021     void createTransport() override
0022     {
0023         // TODO
0024     }
0025     void generateResource(const Resource::ResourceInfo &info) override
0026     {
0027         mResourceInfo = info;
0028     }
0029 
0030 private:
0031     Resource::ResourceInfo mResourceInfo;
0032     QString mTransportInfo;
0033 };
0034 
0035 AccountConfigurationTest::AccountConfigurationTest(QObject *parent)
0036     : QObject{parent}
0037 {
0038 }
0039 
0040 void AccountConfigurationTest::shouldHaveDefaultValues()
0041 {
0042     ManualConfigurationImplTest w;
0043     QVERIFY(w.incomingHostName().isEmpty());
0044     QVERIFY(w.incomingUserName().isEmpty());
0045     QVERIFY(w.outgoingHostName().isEmpty());
0046     QVERIFY(w.outgoingUserName().isEmpty());
0047 
0048     QVERIFY(!w.incomingProtocols().isEmpty());
0049     QVERIFY(!w.securityProtocols().isEmpty());
0050     QVERIFY(!w.authenticationProtocols().isEmpty());
0051 
0052     QCOMPARE(w.currentIncomingProtocol(), 0);
0053     QCOMPARE(w.currentIncomingSecurityProtocol(), 2);
0054     QCOMPARE(w.currentOutgoingSecurityProtocol(), 2);
0055     QCOMPARE(w.currentIncomingAuthenticationProtocol(), 0);
0056     QCOMPARE(w.currentOutgoingAuthenticationProtocol(), 0);
0057 
0058     QCOMPARE(w.incomingPort(), 995);
0059     QCOMPARE(w.outgoingPort(), 465);
0060     QVERIFY(!w.disconnectedModeEnabled());
0061 
0062     QCOMPARE(w.incomingProtocols().count(), 3);
0063     QCOMPARE(w.securityProtocols().count(), 3);
0064     QCOMPARE(w.authenticationProtocols().count(), 7);
0065 }
0066 
0067 void AccountConfigurationTest::shouldAssignEmail()
0068 {
0069     ManualConfigurationImplTest w;
0070     QSignalSpy incomingHostNameChanged(&w, &ManualConfigurationImplTest::incomingHostNameChanged);
0071     QSignalSpy outgoingHostNameChanged(&w, &ManualConfigurationImplTest::outgoingHostNameChanged);
0072     QSignalSpy incomingUserNameChanged(&w, &ManualConfigurationImplTest::incomingUserNameChanged);
0073     QSignalSpy outgoingUserNameChanged(&w, &ManualConfigurationImplTest::outgoingUserNameChanged);
0074 
0075     w.setEmail(QStringLiteral("foo@kde.org"));
0076     QCOMPARE(w.incomingHostName(), QStringLiteral("kde.org"));
0077     QCOMPARE(w.outgoingHostName(), QStringLiteral("kde.org"));
0078     QCOMPARE(w.incomingUserName(), QStringLiteral("foo@kde.org"));
0079     QCOMPARE(w.outgoingUserName(), QStringLiteral("foo@kde.org"));
0080     QCOMPARE(incomingHostNameChanged.count(), 1);
0081     QCOMPARE(outgoingHostNameChanged.count(), 1);
0082     QCOMPARE(incomingUserNameChanged.count(), 1);
0083     QCOMPARE(outgoingUserNameChanged.count(), 1);
0084 }
0085 
0086 void AccountConfigurationTest::createResource()
0087 {
0088     // TODO
0089     ManualConfigurationImplTest w;
0090     w.createAccount();
0091     // TODO
0092 }
0093 
0094 void AccountConfigurationTest::createResource_data()
0095 {
0096     QTest::addColumn<Resource::ResourceInfo>("resourceInfo");
0097 
0098     // TODO
0099 }
0100 
0101 #include "moc_accountconfigurationtest.cpp"