diff --git a/make-client.py b/make-client.py
index af2478432a5e06d40e823f25872c1217a955d06e..d512fe1a3c8385ee7b89c3db6b3fc39f9ccef8d5 100644
--- a/make-client.py
+++ b/make-client.py
@@ -32,10 +32,7 @@ qml_test_project = build_dir + '\\tests\\qml_tests.vcxproj'
 qml_test_exe = this_dir + '\\x64\\test\\qml_tests.exe -input ' + this_dir + '\\tests\\qml'
 unit_test_exe = this_dir + '\\x64\\test\\unittests.exe'
 
-# test env path
-test_data_dir = temp_path + '\\jami_test\\jami'
-test_config_dir = temp_path + '\\jami_test\\.config'
-test_cache_dir = temp_path + '\\jami_test\\.cache'
+windows_font_dir = 'C:\\Windows\\Fonts'
 
 class TestBuilding(Enum):
     NoTests = 0
@@ -320,10 +317,8 @@ def run_tests(mute_jamid, output_to_files):
     os.environ["QT_QPA_PLATFORM"] = 'offscreen'
     os.environ["QT_QUICK_BACKEND"] = 'software'
 
-    # set test env variables
-    os.environ["JAMI_DATA_HOME"] = test_data_dir
-    os.environ["JAMI_CONFIG_HOME"] = test_config_dir
-    os.environ["JAMI_CACHE_HOME"] = test_cache_dir
+    # provide font dir
+    os.environ["QT_QPA_FONTDIR"] = windows_font_dir
 
     for test_exe_command in test_exe_command_list:
         if (execute_cmd(test_exe_command, True)):
diff --git a/tests/qml/main.cpp b/tests/qml/main.cpp
index 671a5b58f71369f6c5b4f8acc72d53807ef3f2f7..86ad4856a5f13d0e60325c9295a247cf843239a3 100644
--- a/tests/qml/main.cpp
+++ b/tests/qml/main.cpp
@@ -124,6 +124,18 @@ private:
 int
 main(int argc, char** argv)
 {
+    QDir tempDir(QStandardPaths::writableLocation(QStandardPaths::TempLocation));
+
+    auto jamiDataDir = tempDir.absolutePath() + "\\jami_test\\jami";
+    auto jamiConfigDir = tempDir.absolutePath() + "\\jami_test\\.config";
+    auto jamiCacheDir = tempDir.absolutePath() + "\\jami_test\\.cache";
+
+    bool envSet = qputenv("JAMI_DATA_HOME", jamiDataDir.toLocal8Bit());
+    envSet &= qputenv("JAMI_CONFIG_HOME", jamiConfigDir.toLocal8Bit());
+    envSet &= qputenv("JAMI_CACHE_HOME", jamiCacheDir.toLocal8Bit());
+    if (!envSet)
+        return 1;
+
     bool muteDring {false};
 
     // Remove "-mutejamid" from argv, as quick_test_main_with_setup() will
@@ -139,7 +151,6 @@ main(int argc, char** argv)
         argc = std::distance(argv, end);
     }
 
-    QStandardPaths::setTestModeEnabled(true);
     QtWebEngine::initialize();
 
     QTEST_SET_MAIN_SOURCE_PATH
diff --git a/tests/unittests/account_unittest.cpp b/tests/unittests/account_unittest.cpp
index 685aaf837e54e4bd7e7efba3fc4a719ad1d493df..51b8e60ed751b14a60e60a85e47d042d2ce450ef 100644
--- a/tests/unittests/account_unittest.cpp
+++ b/tests/unittests/account_unittest.cpp
@@ -60,11 +60,11 @@ TEST_F(AccountFixture, CreateSIPAccountTest)
     // Create SIP Acc
     globalEnv.accountAdapter->createSIPAccount(QVariantMap());
 
-    QVERIFY(accountAddedSpy.wait());
-    QCOMPARE(accountAddedSpy.count(), 1);
+    accountAddedSpy.wait();
+    EXPECT_EQ(accountAddedSpy.count(), 1);
 
     QList<QVariant> accountAddedArguments = accountAddedSpy.takeFirst();
-    QVERIFY(accountAddedArguments.at(0).type() == QVariant::String);
+    EXPECT_TRUE(accountAddedArguments.at(0).type() == QVariant::String);
 
     // Select the created account
     globalEnv.lrcInstance->set_currentAccountId(accountAddedArguments.at(0).toString());
@@ -76,18 +76,18 @@ TEST_F(AccountFixture, CreateSIPAccountTest)
     QSignalSpy accountStatusChangedSpy(&globalEnv.lrcInstance->accountModel(),
                                        &NewAccountModel::accountStatusChanged);
 
-    QVERIFY(accountStatusChangedSpy.wait());
-    QCOMPARE(accountStatusChangedSpy.count(), 1);
+    accountStatusChangedSpy.wait();
+    EXPECT_GE(accountStatusChangedSpy.count(), 1);
 
     // Remove the account
-    globalEnv.lrcInstance->accountModel().removeAccount(
-        globalEnv.lrcInstance->get_currentAccountId());
-
     QSignalSpy accountRemovedSpy(&globalEnv.lrcInstance->accountModel(),
                                  &NewAccountModel::accountRemoved);
 
-    QVERIFY(accountRemovedSpy.wait());
-    QCOMPARE(accountRemovedSpy.count(), 1);
+    globalEnv.lrcInstance->accountModel().removeAccount(
+        globalEnv.lrcInstance->get_currentAccountId());
+
+    accountRemovedSpy.wait();
+    EXPECT_EQ(accountRemovedSpy.count(), 1);
 
     accountListSize = globalEnv.lrcInstance->accountModel().getAccountList().size();
     ASSERT_EQ(accountListSize, 0);
diff --git a/tests/unittests/contact_unittest.cpp b/tests/unittests/contact_unittest.cpp
index cd7ff6265afb9f0d95b720ae0904573316e40293..6a0fbf2f642804c141411f788232312fb0d28bb0 100644
--- a/tests/unittests/contact_unittest.cpp
+++ b/tests/unittests/contact_unittest.cpp
@@ -48,11 +48,11 @@ TEST_F(ContactFixture, AddSIPContactTest)
     // Create SIP Acc
     globalEnv.accountAdapter->createSIPAccount(QVariantMap());
 
-    QVERIFY(accountAddedSpy.wait());
-    QCOMPARE(accountAddedSpy.count(), 1);
+    accountAddedSpy.wait();
+    EXPECT_EQ(accountAddedSpy.count(), 1);
 
     QList<QVariant> accountAddedArguments = accountAddedSpy.takeFirst();
-    QVERIFY(accountAddedArguments.at(0).type() == QVariant::String);
+    EXPECT_TRUE(accountAddedArguments.at(0).type() == QVariant::String);
 
     // Select the created account
     globalEnv.lrcInstance->set_currentAccountId(accountAddedArguments.at(0).toString());
@@ -61,8 +61,8 @@ TEST_F(ContactFixture, AddSIPContactTest)
     QSignalSpy accountStatusChangedSpy(&globalEnv.lrcInstance->accountModel(),
                                        &lrc::api::NewAccountModel::accountStatusChanged);
 
-    QVERIFY(accountStatusChangedSpy.wait());
-    QCOMPARE(accountStatusChangedSpy.count(), 1);
+    accountStatusChangedSpy.wait();
+    EXPECT_GE(accountStatusChangedSpy.count(), 1);
 
     // ModelUpdated signal spy
     QSignalSpy modelUpdatedSpy(globalEnv.lrcInstance->getCurrentContactModel(),
@@ -71,11 +71,11 @@ TEST_F(ContactFixture, AddSIPContactTest)
     // Add temp contact test
     globalEnv.lrcInstance->getCurrentConversationModel()->setFilter("test");
 
-    QVERIFY(modelUpdatedSpy.wait());
-    QCOMPARE(modelUpdatedSpy.count(), 1);
+    modelUpdatedSpy.wait();
+    EXPECT_EQ(modelUpdatedSpy.count(), 1);
 
     QList<QVariant> modelUpdatedArguments = modelUpdatedSpy.takeFirst();
-    QVERIFY(modelUpdatedArguments.at(0).type() == QVariant::String);
+    EXPECT_TRUE(modelUpdatedArguments.at(0).type() == QVariant::String);
 
     // Get conversation id
     auto convId = globalEnv.lrcInstance
@@ -89,16 +89,19 @@ TEST_F(ContactFixture, AddSIPContactTest)
 
     globalEnv.lrcInstance->getCurrentConversationModel()->makePermanent(convId);
 
-    QVERIFY(contactAddedSpy.wait());
-    QCOMPARE(contactAddedSpy.count(), 1);
+    contactAddedSpy.wait();
+    EXPECT_EQ(contactAddedSpy.count(), 1);
 
     // Remove the account
+    QSignalSpy accountRemovedSpy(&globalEnv.lrcInstance->accountModel(),
+                                 &lrc::api::NewAccountModel::accountRemoved);
+
     globalEnv.lrcInstance->accountModel().removeAccount(
         globalEnv.lrcInstance->get_currentAccountId());
 
-    QSignalSpy accountRemovedSpy(&globalEnv.lrcInstance->accountModel(),
-                                 &lrc::api::NewAccountModel::accountRemoved);
+    accountRemovedSpy.wait();
+    EXPECT_EQ(accountRemovedSpy.count(), 1);
 
-    QVERIFY(accountRemovedSpy.wait());
-    QCOMPARE(accountRemovedSpy.count(), 1);
-}
\ No newline at end of file
+    auto accountListSize = globalEnv.lrcInstance->accountModel().getAccountList().size();
+    ASSERT_EQ(accountListSize, 0);
+}
diff --git a/tests/unittests/main_unittest.cpp b/tests/unittests/main_unittest.cpp
index 86b7488316d1b05b65d29d704f30e3366a169587..72d3b5e6faed4e7c3ffb1d90e4f9204d8e99e4a4 100644
--- a/tests/unittests/main_unittest.cpp
+++ b/tests/unittests/main_unittest.cpp
@@ -27,6 +27,18 @@ TestEnvironment globalEnv;
 int
 main(int argc, char* argv[])
 {
+    QDir tempDir(QStandardPaths::writableLocation(QStandardPaths::TempLocation));
+
+    auto jamiDataDir = tempDir.absolutePath() + "\\jami_test\\jami";
+    auto jamiConfigDir = tempDir.absolutePath() + "\\jami_test\\.config";
+    auto jamiCacheDir = tempDir.absolutePath() + "\\jami_test\\.cache";
+
+    bool envSet = qputenv("JAMI_DATA_HOME", jamiDataDir.toLocal8Bit());
+    envSet &= qputenv("JAMI_CONFIG_HOME", jamiConfigDir.toLocal8Bit());
+    envSet &= qputenv("JAMI_CACHE_HOME", jamiCacheDir.toLocal8Bit());
+    if (!envSet)
+        return 1;
+
     // Remove "-mutejamid" from argv, as quick_test_main_with_setup() will
     // fail if given an invalid command-line argument.
     auto end = std::remove_if(argv + 1, argv + argc, [](char* argv) {
@@ -40,8 +52,6 @@ main(int argc, char* argv[])
         argc = std::distance(argv, end);
     }
 
-    QStandardPaths::setTestModeEnabled(true);
-
     QApplication a(argc, argv);
     a.processEvents();