Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions backend/arkham-api/arkham-api.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -5730,6 +5730,7 @@ test-suite spec
Arkham.Investigator.Cards.ZoeySamarasSpec
Arkham.Location.Cards.DreamGatePointlessRealitySpec
Arkham.Location.Cards.DreamGateWondrousJourneySpec
Arkham.Location.Cards.EnchantedWoodsVillageOfZoogsSpec
Arkham.Scenario.SpecHelpers
Arkham.Skill.Cards.DeductionSpec
Arkham.Skill.Cards.FearlessSpec
Expand Down
2 changes: 1 addition & 1 deletion backend/arkham-api/library/Arkham/Location/Cards.hs
Original file line number Diff line number Diff line change
Expand Up @@ -5457,7 +5457,7 @@ enchantedWoodsVillageOfZoogs =
[Squiggle]
("Enchanted Woods" <:> "Village of Zoogs")
[Woods]
Triangle
Diamond
[Squiggle, Square, Star]
BeyondTheGatesOfSleep

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
module Arkham.Location.Cards.EnchantedWoodsVillageOfZoogsSpec (spec) where

import Arkham.Enemy.Cards qualified as Enemies
import Arkham.ForMovement
import Arkham.Location.Cards qualified as Locations
import Arkham.Location.Types (Field (LocationPrintedSymbol), revealedL)
import Arkham.LocationSymbol
import Arkham.Matcher (pattern ConnectedLocation)
import Arkham.Projection (field)
import TestImport.New

spec :: Spec
spec = describe "Enchanted Woods (Village of Zoogs)" do
it "uses Diamond as its revealed symbol, while Great Stone Circle remains Triangle"
. gameTest
$ \_self -> do
village <- testLocationWithDef Locations.enchantedWoodsVillageOfZoogs (revealedL .~ True)
greatStoneCircle <- testLocationWithDef Locations.enchantedWoodsGreatStoneCircle (revealedL .~ True)

field LocationPrintedSymbol (toId village) `shouldReturn` Diamond
field LocationPrintedSymbol (toId greatStoneCircle) `shouldReturn` Triangle

it "is connected to The Moon-Tree and gives Inconspicuous Zoog multiple legal spawn choices"
. gameTest
$ \self -> do
moonTree <- testLocationWithDef Locations.enchantedWoodsTheMoonTree (revealedL .~ True)
village <- testLocationWithDef Locations.enchantedWoodsVillageOfZoogs (revealedL .~ True)
enchantedPath <- testLocationWithDef Locations.theEnchantedPath id

self `moveTo` moonTree

moonTree.connectedLocations `shouldMatchListM` [toId enchantedPath, toId village]

zoog <- testEnemyWithDef Enemies.inconspicuousZoog id
run $ EnemySpawnAtLocationMatching (Just $ toId self) (ConnectedLocation NotForMovement) (toId zoog)

assertTarget enchantedPath
assertTarget village
chooseTarget village

zoog.location `shouldReturn` Just (toId village)