From ffdb9c300c9a362f3582e2a8413eb4cccdbf53f1 Mon Sep 17 00:00:00 2001 From: Eetu Rantanen Date: Thu, 9 Jul 2026 14:09:31 +0300 Subject: [PATCH 1/2] set up and tear down teamtemplatemocks before and after each --- lua/spec/prize_pool_spec.lua | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lua/spec/prize_pool_spec.lua b/lua/spec/prize_pool_spec.lua index a680f683bec..d1540f69ff0 100644 --- a/lua/spec/prize_pool_spec.lua +++ b/lua/spec/prize_pool_spec.lua @@ -5,10 +5,15 @@ describe('prize pool', function() local Table = require('Module:Table') local Variables = require('Module:Variables') local tournamentData = require('test_assets.tournaments').dummy + local TeamTemplateMock = require('wikis.commons.Mock.TeamTemplate') local LpdbPlacementStub before_each(function() + -- Team templates are mocked for every test: TeamTemplate.getRawOrNil is + -- memoized at module scope, so a team resolved without the mock caches a + -- nil result that leaks into later tests that do expect the mock. + TeamTemplateMock.setUp() stub(mw.ext.LiquipediaDB, "lpdb", {}) stub(mw.ext.LiquipediaDB, "lpdb_tournament") LpdbPlacementStub = stub(mw.ext.LiquipediaDB, "lpdb_placement") @@ -16,6 +21,7 @@ describe('prize pool', function() end) after_each(function () + TeamTemplateMock.tearDown() LpdbPlacementStub:revert() ---@diagnostic disable-next-line: undefined-field mw.ext.LiquipediaDB.lpdb:revert() @@ -280,10 +286,7 @@ describe('prize pool', function() it('stores the USD player share in placement extradata', function() local Json = require('Module:Json') - local TeamTemplateMock = require('wikis.commons.Mock.TeamTemplate') - TeamTemplateMock.setUp() PrizePool(clubShareUsdPoolArgs):create():build() - TeamTemplateMock.tearDown() local playerShares = {} for _, call in ipairs(LpdbPlacementStub.calls) do From 00c1088b222d84b8a45133e583c482f47b8655af Mon Sep 17 00:00:00 2001 From: Eetwalt <75437856+Eetwalt@users.noreply.github.com> Date: Thu, 9 Jul 2026 11:17:04 +0000 Subject: [PATCH 2/2] chore: update visual snapshots --- lua/spec/snapshots/prize_pool_club_share.png | Bin 30906 -> 30907 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lua/spec/snapshots/prize_pool_club_share.png b/lua/spec/snapshots/prize_pool_club_share.png index 5f4415e1d6683045239425bbfade60774fad7bdc..7dd8705222f3b5cece170676d0070826f0263b15 100644 GIT binary patch delta 10449 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