Selaa lähdekoodia

vcmi: fix healing effect tests

Konstantin 2 vuotta sitten
vanhempi
sitoutus
276bd5eebf
2 muutettua tiedostoa jossa 17 lisäystä ja 0 poistoa
  1. 14 0
      test/spells/effects/HealTest.cpp
  2. 3 0
      test/spells/effects/SacrificeTest.cpp

+ 14 - 0
test/spells/effects/HealTest.cpp

@@ -348,10 +348,13 @@ TEST_P(HealApplyTest, Heals)
 	const int32_t unitAmount = 24;
 	const int32_t unitHP = 100;
 	const uint32_t unitId = 42;
+	const auto pikeman = CreatureID(unitId).toCreature();
+
 
 	auto & targetUnit = unitsFake.add(BattleSide::ATTACKER);
 	EXPECT_CALL(targetUnit, unitBaseAmount()).WillRepeatedly(Return(unitAmount));
 	EXPECT_CALL(targetUnit, unitId()).WillRepeatedly(Return(unitId));
+	EXPECT_CALL(targetUnit, unitType()).WillRepeatedly(Return(pikeman));
 
 	targetUnit.addNewBonus(std::make_shared<Bonus>(Bonus::PERMANENT, Bonus::STACK_HEALTH, Bonus::CREATURE_ABILITY, unitHP, 0));
 
@@ -374,6 +377,17 @@ TEST_P(HealApplyTest, Heals)
 
 	EXPECT_CALL(*battleFake, setUnitState(Eq(unitId), _, Gt(0))).Times(1);
 
+	//There should be battle log message if resurrect
+	switch(healLevel) 
+	{
+	case EHealLevel::RESURRECT:
+	case EHealLevel::OVERHEAL:
+		EXPECT_CALL(serverMock, apply(Matcher<BattleLogMessage *>(_))).Times(AtLeast(1));
+		break;
+	default:
+		break;
+	}
+
 	EXPECT_CALL(serverMock, apply(Matcher<BattleUnitsChanged *>(_))).Times(1);
 
 	setupDefaultRNG();

+ 3 - 0
test/spells/effects/SacrificeTest.cpp

@@ -166,12 +166,14 @@ TEST_F(SacrificeApplyTest, ResurrectsTarget)
 	const uint32_t victimId = 4242;
 	const int32_t victimCount = 5;
 	const int32_t victimUnitHP = 100;
+	const auto pikeman = CreatureID(unitId).toCreature();
 
 	const int64_t expectedHealValue = (effectPower + victimUnitHP + effectValue) * victimCount;
 
 	auto & targetUnit = unitsFake.add(BattleSide::ATTACKER);
 	EXPECT_CALL(targetUnit, unitBaseAmount()).WillRepeatedly(Return(unitAmount));
 	EXPECT_CALL(targetUnit, unitId()).WillRepeatedly(Return(unitId));
+	EXPECT_CALL(targetUnit, unitType()).WillRepeatedly(Return(pikeman));
 
 	EXPECT_CALL(mechanicsMock, getEffectPower()).Times(AtLeast(1)).WillRepeatedly(Return(effectPower));
 	EXPECT_CALL(mechanicsMock, applySpellBonus(_, Eq(&targetUnit))).WillOnce(ReturnArg<0>());
@@ -201,6 +203,7 @@ TEST_F(SacrificeApplyTest, ResurrectsTarget)
 	EXPECT_CALL(targetUnit, acquire()).WillOnce(Return(targetUnitState));
 
 	EXPECT_CALL(serverMock, apply(Matcher<BattleUnitsChanged *>(_))).Times(AtLeast(1));
+	EXPECT_CALL(serverMock, apply(Matcher<BattleLogMessage *>(_))).Times(AtLeast(1));
 
 	setupDefaultRNG();