refactor: move MessageBuilder snapshot test to IrcMessageHandler (#5654)

This commit is contained in:
nerix 2024-10-18 15:41:57 +02:00 committed by GitHub
parent 800f6df2cf
commit a8d60b0b05
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
69 changed files with 12 additions and 13 deletions

View file

@ -103,7 +103,7 @@
- Dev: Added more tests for input completion. (#5604)
- Dev: Refactored legacy Unicode zero-width-joiner replacement. (#5594)
- Dev: The JSON output when copying a message (<kbd>SHIFT</kbd> + right-click) is now more extensive. (#5600)
- Dev: Added more tests for message building. (#5598)
- Dev: Added more tests for message building. (#5598, #5654)
- Dev: Twitch messages are now sent using Twitch's Helix API instead of IRC by default. (#5607)
- Dev: `GIFTimer` is no longer initialized in tests. (#5608)
- Dev: Emojis now use flags instead of a set of strings for capabilities. (#5616)

View file

@ -25,7 +25,7 @@
#include <optional>
#include <unordered_map>
class TestMessageBuilderP;
class TestIrcMessageHandlerP;
namespace chatterino {
@ -464,7 +464,7 @@ private:
friend class MessageBuilder;
friend class IrcMessageHandler;
friend class Commands_E2E_Test;
friend class ::TestMessageBuilderP;
friend class ::TestIrcMessageHandlerP;
};
} // namespace chatterino

View file

@ -22,7 +22,7 @@ set(test_SOURCES
${CMAKE_CURRENT_LIST_DIR}/src/UtilTwitch.cpp
${CMAKE_CURRENT_LIST_DIR}/src/IrcHelpers.cpp
${CMAKE_CURRENT_LIST_DIR}/src/TwitchPubSubClient.cpp
${CMAKE_CURRENT_LIST_DIR}/src/MessageBuilder.cpp
${CMAKE_CURRENT_LIST_DIR}/src/IrcMessageHandler.cpp
${CMAKE_CURRENT_LIST_DIR}/src/HighlightController.cpp
${CMAKE_CURRENT_LIST_DIR}/src/FormatTime.cpp
${CMAKE_CURRENT_LIST_DIR}/src/LimitedQueue.cpp

View file

@ -1,4 +1,4 @@
#include "messages/MessageBuilder.hpp"
#include "providers/twitch/IrcMessageHandler.hpp"
#include "common/Literals.hpp"
#include "controllers/accounts/AccountController.hpp"
@ -20,7 +20,6 @@
#include "providers/seventv/SeventvBadges.hpp"
#include "providers/twitch/api/Helix.hpp"
#include "providers/twitch/ChannelPointReward.hpp"
#include "providers/twitch/IrcMessageHandler.hpp"
#include "providers/twitch/TwitchAccount.hpp"
#include "providers/twitch/TwitchBadge.hpp"
#include "providers/twitch/TwitchBadges.hpp"
@ -56,7 +55,7 @@ namespace {
/// to generate an initial snapshot. Make sure to verify the output!
constexpr bool UPDATE_SNAPSHOTS = false;
const QString IRC_CATEGORY = u"MessageBuilder/IRC"_s;
const QString IRC_CATEGORY = u"IrcMessageHandler"_s;
class MockApplication : public mock::BaseApplication
{
@ -447,12 +446,12 @@ QT_WARNING_POP
} // namespace
class TestMessageBuilderP : public ::testing::TestWithParam<QString>
class TestIrcMessageHandlerP : public ::testing::TestWithParam<QString>
{
public:
void SetUp() override
{
auto param = TestMessageBuilderP::GetParam();
auto param = TestIrcMessageHandlerP::GetParam();
this->snapshot = testlib::Snapshot::read(IRC_CATEGORY, param);
this->mockApplication =
@ -558,7 +557,7 @@ public:
/// `IrcMesssageHandler` to ensure the correct (or: "real") arguments to build
/// messages.
///
/// Tests are contained in `tests/snapshots/MessageBuilder/IRC`. Fixtures
/// Tests are contained in `tests/snapshots/IrcMessageHandler`. Fixtures
/// consist of an object with the keys `input`, `output`, `settings` (optional),
/// and `params` (optional).
///
@ -569,7 +568,7 @@ public:
/// - `prevMessages`: An array of past messages (used for replies)
/// - `findAllUsernames`: A boolean controlling the equally named setting
/// (default: false)
TEST_P(TestMessageBuilderP, Run)
TEST_P(TestIrcMessageHandlerP, Run)
{
auto channel = makeMockTwitchChannel(u"pajlada"_s, *snapshot);
@ -608,10 +607,10 @@ TEST_P(TestMessageBuilderP, Run)
}
INSTANTIATE_TEST_SUITE_P(
IrcMessage, TestMessageBuilderP,
IrcMessage, TestIrcMessageHandlerP,
testing::ValuesIn(testlib::Snapshot::discover(IRC_CATEGORY)));
TEST(TestMessageBuilderP, Integrity)
TEST(TestIrcMessageHandlerP, Integrity)
{
ASSERT_FALSE(UPDATE_SNAPSHOTS); // make sure fixtures are actually tested
}