feat(bash): test command in dashboard + fix tests (#23030)

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Yehonal
2025-09-27 13:36:14 +02:00
committed by GitHub
parent 815d99250a
commit b950c610d4
15 changed files with 267 additions and 58 deletions

View File

@@ -26,7 +26,7 @@
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-parameter"
void AddScripts() {}
inline void AddScripts() {}
class WorldMock: public IWorld
{

View File

@@ -19,6 +19,8 @@
#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include "ArenaSeasonRewardsDistributor.h"
#include "WorldMock.h"
#include <memory>
class MockArenaSeasonTeamRewarder : public ArenaSeasonTeamRewarder
{
@@ -31,12 +33,26 @@ class ArenaSeasonRewardDistributorTest : public ::testing::Test
protected:
void SetUp() override
{
_previousWorld = std::move(sWorld);
_worldMock = new ::testing::NiceMock<WorldMock>();
ON_CALL(*_worldMock, getIntConfig(::testing::_)).WillByDefault(::testing::Return(0));
ON_CALL(*_worldMock, getIntConfig(CONFIG_LEGACY_ARENA_START_RATING)).WillByDefault(::testing::Return(1500));
ON_CALL(*_worldMock, getIntConfig(CONFIG_ARENA_START_RATING)).WillByDefault(::testing::Return(0));
sWorld.reset(_worldMock);
_mockRewarder = std::make_unique<MockArenaSeasonTeamRewarder>();
_distributor = std::make_unique<ArenaSeasonRewardDistributor>(_mockRewarder.get());
}
void TearDown() override
{
sWorld = std::move(_previousWorld);
}
std::unique_ptr<MockArenaSeasonTeamRewarder> _mockRewarder;
std::unique_ptr<ArenaSeasonRewardDistributor> _distributor;
std::unique_ptr<IWorld> _previousWorld;
::testing::NiceMock<WorldMock>* _worldMock = nullptr;
};
ArenaTeam ArenaTeamWithRating(int rating, int gamesPlayed)

View File

@@ -22,6 +22,7 @@
#include "ArenaTeamMgr.h"
#include "ArenaTeam.h"
#include <memory>
#include "WorldMock.h"
// Used to expose Type property.
class ArenaTeamTest : public ArenaTeam
@@ -46,6 +47,13 @@ class ArenaTeamFilterTest : public ::testing::Test
protected:
void SetUp() override
{
_previousWorld = std::move(sWorld);
_worldMock = new ::testing::NiceMock<WorldMock>();
ON_CALL(*_worldMock, getIntConfig(::testing::_)).WillByDefault(::testing::Return(0));
ON_CALL(*_worldMock, getIntConfig(CONFIG_LEGACY_ARENA_START_RATING)).WillByDefault(::testing::Return(1500));
ON_CALL(*_worldMock, getIntConfig(CONFIG_ARENA_START_RATING)).WillByDefault(::testing::Return(0));
sWorld.reset(_worldMock);
team1 = ArenaTeamWithType(2); // 2v2
team2 = ArenaTeamWithType(3); // 3v3
team3 = ArenaTeamWithType(5); // 5v5
@@ -60,12 +68,16 @@ protected:
delete team1;
delete team2;
delete team3;
sWorld = std::move(_previousWorld);
}
ArenaTeamMgr::ArenaTeamContainer arenaTeams;
ArenaTeam* team1;
ArenaTeam* team2;
ArenaTeam* team3;
std::unique_ptr<IWorld> _previousWorld;
::testing::NiceMock<WorldMock>* _worldMock = nullptr;
};
// Test for ArenaTeamFilterAllTeams: it should return all teams without filtering