Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Another Round of Fixes #3317

Merged
merged 10 commits into from
Sep 4, 2024
2 changes: 1 addition & 1 deletion .github/workflows/test-in-new-recruit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
run: apt list --installed
# Need to fetch reqs if needed
- name: Installing all necessary packages
run: pip install webdriver-manager selenium
run: pip install selenium
- name: Run tests
run: python3 tests.py
working-directory: horus-heresy/tests/
Expand Down
3 changes: 2 additions & 1 deletion 2022 - Daemons - Daemons of the Ruinstorm.cat
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<catalogue xmlns="http://www.battlescribe.net/schema/catalogueSchema" library="false" id="ac63-5340-2e9e-1eb6" name="Daemons - Daemons of the Ruinstorm" gameSystemId="28d4-bd2e-4858-ece6" gameSystemRevision="77" revision="13" battleScribeVersion="2.03" type="catalogue">
<catalogue xmlns="http://www.battlescribe.net/schema/catalogueSchema" library="false" id="ac63-5340-2e9e-1eb6" name="Daemons - Daemons of the Ruinstorm" gameSystemId="28d4-bd2e-4858-ece6" gameSystemRevision="77" revision="14" battleScribeVersion="2.03" type="catalogue">
<entryLinks>
<entryLink import="false" name="Daemons of the Ruinstorm" hidden="false" type="selectionEntry" id="e271-f450-1c28-5b7b" targetId="afca-3047-fb26-d097">
<constraints>
Expand Down Expand Up @@ -478,6 +478,7 @@
</modifier>
</modifiers>
</infoLink>
<infoLink name="Herald of Unreality" id="c27a-a859-a7b9-cf57" hidden="false" type="rule" targetId="76ba-1913-c091-2860"/>
</infoLinks>
<selectionEntryGroups>
<selectionEntryGroup name="May take one of the following options:" hidden="false" id="1cd1-d847-5f91-ad65">
Expand Down
9 changes: 7 additions & 2 deletions 2022 - LA - Sons of Horus.cat
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<catalogue xmlns="http://www.battlescribe.net/schema/catalogueSchema" id="62c7-42f4-5523-af1b" name="LA - XVI: Sons of Horus" revision="42" battleScribeVersion="2.03" library="false" gameSystemId="28d4-bd2e-4858-ece6" gameSystemRevision="67" type="catalogue">
<catalogue xmlns="http://www.battlescribe.net/schema/catalogueSchema" id="62c7-42f4-5523-af1b" name="LA - XVI: Sons of Horus" revision="43" battleScribeVersion="2.03" library="false" gameSystemId="28d4-bd2e-4858-ece6" gameSystemRevision="67" type="catalogue">
<entryLinks>
<entryLink id="c2a2-9b6d-b384-3f43" name="XVI: Sons of Horus" hidden="false" collective="false" import="false" targetId="01b4-57c7-bf61-2abf" type="selectionEntry">
<modifiers>
Expand Down Expand Up @@ -6375,7 +6375,6 @@ Invulnerable Saves granted by a Castigatus combat shield do not stack with other
<modifier type="set" field="name" value="Legiones Astartes (Sons of Horus)"/>
</modifiers>
</infoLink>
<infoLink name="Master of the Legion" hidden="false" type="rule" targetId="c772-87ea-d49c-c7ba" id="46e1-a18c-4134-a046"/>
<infoLink name="Relentless" hidden="false" type="rule" targetId="7adf-ac9a-5035-522d" id="c6d9-902f-4e8b-8d69"/>
<infoLink name="Traitor" hidden="false" type="rule" targetId="eff2-8b0e-21da-2f0d" id="81da-5594-47c3-b093"/>
</infoLinks>
Expand All @@ -6392,6 +6391,12 @@ In addition, an army whose Warlord has this Trait may make an additional Reactio
</profiles>
</entryLink>
<entryLink import="true" name="Retinue" hidden="false" id="1a57-3c15-2c9a-48cb" collective="false" targetId="b574-7838-ac21-b8f6" type="selectionEntryGroup"/>
<entryLink import="true" name="Master of the Legion" hidden="false" id="38ef-bc15-9c9b-2ac2" collective="false" targetId="0068-6b0a-0086-3d6b" type="selectionEntry">
<constraints>
<constraint type="min" value="1" field="selections" scope="parent" shared="true" id="4518-f547-df6a-b50e" percentValue="false" includeChildSelections="false" includeChildForces="false"/>
<constraint type="max" value="1" field="selections" scope="parent" shared="true" id="d825-f2c2-d7f5-bfdd" percentValue="false" includeChildSelections="false" includeChildForces="false"/>
</constraints>
</entryLink>
</entryLinks>
<rules>
<rule name="Haunted" id="eb36-7380-6bad-1660" hidden="false" publicationId="d882-d2a-5da1-92c4" page="191">
Expand Down
31 changes: 18 additions & 13 deletions 2022 - Legiones Astartes.cat
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<catalogue xmlns="http://www.battlescribe.net/schema/catalogueSchema" id="6393-649c-7213-a327" name="Legions Astartes" revision="190" battleScribeVersion="2.03" authorName="Various" authorUrl="https://github.com/BSData/horus-heresy" library="true" gameSystemId="28d4-bd2e-4858-ece6" gameSystemRevision="71" type="catalogue">
<catalogue xmlns="http://www.battlescribe.net/schema/catalogueSchema" id="6393-649c-7213-a327" name="Legions Astartes" revision="191" battleScribeVersion="2.03" authorName="Various" authorUrl="https://github.com/BSData/horus-heresy" library="true" gameSystemId="28d4-bd2e-4858-ece6" gameSystemRevision="71" type="catalogue">
<publications>
<publication id="0594-a9b0-6f10-090e" name="Legion Javelin Squadron update" publisher="Warhammer Community Downloads" publicationDate="May 2023" publisherUrl="https://www.warhammer-community.com/wp-content/uploads/2023/05/hd7WOnm2lKCHkskG.pdf"/>
<publication id="acdb-27b7-6b7e-932f" name="Legion Mastodon update" publisher="Warhammer Community Downloads" publicationDate="May 2023" publisherUrl="https://www.warhammer-community.com/wp-content/uploads/2023/05/AopGHpxowuowkwJw.pdf"/>
Expand Down Expand Up @@ -39487,11 +39487,6 @@ It is not known if this is a mistake or not, as previously like with the Mech bo
<cost name="Pts" typeId="d2ee-04cb-5f8a-2642" value="10"/>
</costs>
</entryLink>
<entryLink id="47a1-cda5-c4f0-d04a" name="Iliastus Assault Cannon" hidden="false" collective="false" import="true" targetId="10aa-3c70-2bbe-9509" type="selectionEntry">
<costs>
<cost name="Pts" typeId="d2ee-04cb-5f8a-2642" value="20"/>
</costs>
</entryLink>
<entryLink id="b922-cdf2-4617-0e00" name="Warpfire Cannon" hidden="false" collective="false" import="true" targetId="2d54-6e68-4830-4ef3" type="selectionEntry">
<costs>
<cost name="Pts" typeId="d2ee-04cb-5f8a-2642" value="15"/>
Expand Down Expand Up @@ -39570,11 +39565,6 @@ It is not known if this is a mistake or not, as previously like with the Mech bo
<cost name="Pts" typeId="d2ee-04cb-5f8a-2642" value="10"/>
</costs>
</entryLink>
<entryLink id="b754-9bc2-fe08-9f27" name="Iliastus Assault Cannon" hidden="false" collective="false" import="true" targetId="10aa-3c70-2bbe-9509" type="selectionEntry">
<costs>
<cost name="Pts" typeId="d2ee-04cb-5f8a-2642" value="25"/>
</costs>
</entryLink>
<entryLink id="0949-221e-3b94-716f" name="Warpfire Cannon" hidden="false" collective="false" import="true" targetId="2d54-6e68-4830-4ef3" type="selectionEntry">
<costs>
<cost name="Pts" typeId="d2ee-04cb-5f8a-2642" value="20"/>
Expand Down Expand Up @@ -55972,7 +55962,15 @@ Additionally, at the end of any Phase in which a model with Gorgon Terminator ar
<cost name="Pts" typeId="d2ee-04cb-5f8a-2642" value="0"/>
</costs>
<entryLinks>
<entryLink import="true" name="Character Stat Improvement" hidden="false" id="d94a-2f75-606a-ca70" type="selectionEntryGroup" targetId="5e99-fcf2-6b64-e88e"/>
<entryLink import="true" name="Character Stat Improvement" hidden="false" id="d94a-2f75-606a-ca70" type="selectionEntryGroup" targetId="5e99-fcf2-6b64-e88e">
<modifiers>
<modifier type="set" value="false" field="hidden">
<conditions>
<condition type="atLeast" value="1" field="selections" scope="force" childId="ced-ce18-5d5b-e54" shared="true" includeChildSelections="true"/>
</conditions>
</modifier>
</modifiers>
</entryLink>
<entryLink import="true" name="The Legacy of Nikaea" hidden="false" id="bd30-998c-643-c077" type="selectionEntryGroup" targetId="e600-7cf1-217f-42b9"/>
</entryLinks>
<modifierGroups>
Expand Down Expand Up @@ -65009,8 +65007,15 @@ If the Psychic check is successful then until that Shooting Attack is resolved,
<conditionGroup type="and">
<conditions>
<condition field="selections" scope="force" value="1" percentValue="false" shared="true" includeChildSelections="true" includeChildForces="false" childId="3edc-a1b9-6dc6-b1ea" type="equalTo"/>
<condition field="selections" scope="force" value="1" percentValue="false" shared="true" includeChildSelections="true" includeChildForces="false" childId="f9c0-0c5a-3e24-58c7" type="equalTo"/>
</conditions>
<conditionGroups>
<conditionGroup type="or">
<conditions>
<condition type="equalTo" value="1" field="selections" scope="force" childId="f9c0-0c5a-3e24-58c7" shared="true" percentValue="false" includeChildSelections="true" includeChildForces="false"/>
<condition type="equalTo" value="1" field="selections" scope="force" childId="956a-36dc-217e-63b1" shared="true" percentValue="false" includeChildSelections="true" includeChildForces="false"/>
</conditions>
</conditionGroup>
</conditionGroups>
</conditionGroup>
</conditionGroups>
</modifier>
Expand Down
24 changes: 23 additions & 1 deletion 2022 - Mechanicum.cat
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<catalogue xmlns="http://www.battlescribe.net/schema/catalogueSchema" id="c247-da79-1654-d39e" name="Mechanicum" revision="42" battleScribeVersion="2.03" library="false" gameSystemId="28d4-bd2e-4858-ece6" gameSystemRevision="70" type="catalogue" publicationId="3886-76e5-438f-159f">
<catalogue xmlns="http://www.battlescribe.net/schema/catalogueSchema" id="c247-da79-1654-d39e" name="Mechanicum" revision="43" battleScribeVersion="2.03" library="false" gameSystemId="28d4-bd2e-4858-ece6" gameSystemRevision="70" type="catalogue" publicationId="3886-76e5-438f-159f">
<entryLinks>
<entryLink id="29c6-0ec7-0162-e817" name="Mechanicum" hidden="false" collective="false" import="false" targetId="ddf5-d792-3146-6e9a" type="selectionEntry">
<modifiers>
Expand Down Expand Up @@ -1204,6 +1204,17 @@
<costs>
<cost name="Pts" typeId="d2ee-04cb-5f8a-2642" value="185"/>
</costs>
<modifiers>
<modifier type="set" value="true" field="hidden">
<conditionGroups>
<conditionGroup type="or">
<conditions>
<condition type="atLeast" value="1" field="selections" scope="force" childId="7b69-bf2f-4547-e83b" shared="true" percentValue="false" includeChildSelections="true" includeChildForces="false"/>
</conditions>
</conditionGroup>
</conditionGroups>
</modifier>
</modifiers>
</selectionEntry>
<selectionEntry id="2dcd-d6c5-9f57-0084" name="Magos Dominus" publicationId="bde1-6db1-163b-3b76" page="24" hidden="false" collective="false" import="true" type="unit">
<profiles>
Expand Down Expand Up @@ -1664,6 +1675,17 @@
<costs>
<cost name="Pts" typeId="d2ee-04cb-5f8a-2642" value="105"/>
</costs>
<modifiers>
<modifier type="set" value="true" field="hidden">
<conditionGroups>
<conditionGroup type="or">
<conditions>
<condition type="atLeast" value="1" field="selections" scope="force" childId="7b69-bf2f-4547-e83b" shared="true" percentValue="false" includeChildSelections="true" includeChildForces="false"/>
</conditions>
</conditionGroup>
</conditionGroups>
</modifier>
</modifiers>
</selectionEntry>
<selectionEntry id="a204-6b74-3aeb-0231" name="Calleb Decima Invictus" publicationId="bde1-6db1-163b-3b76" page="26" hidden="false" collective="false" import="true" type="unit">
<modifiers>
Expand Down
14 changes: 5 additions & 9 deletions tests/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@
import selenium.webdriver.support.ui as ui
import selenium.webdriver.support.expected_conditions as EC

from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager


class GameTests(unittest.TestCase):
debug = False
Expand All @@ -23,7 +20,6 @@ def setUp(self):
options.add_argument('--headless')

driver = webdriver.Chrome(
service=ChromeService(ChromeDriverManager().install()),
options=options)
driver.delete_all_cookies()
self.wait = ui.WebDriverWait(driver, 30) # timeout after 30 seconds
Expand Down Expand Up @@ -58,8 +54,8 @@ def load_system(self, system_name):

# Load the 1st system.
import_buttons = self.wait.until(lambda drv:
drv.find_elements(By.CSS_SELECTOR,
"#mainContent > fieldset > div > div > div:nth-child(1)"))
drv.find_elements(By.XPATH,
"//*[@id='mainContent']/div[1]/div[@class='item']"))
if len(import_buttons) > 0:
print("Loading the first game system")
import_buttons[0].click()
Expand All @@ -84,7 +80,7 @@ def load_list(self, roster_name: str):
# Wait until the list has loaded
print("Waiting for the list to load...")
self.wait.until(lambda drv:
drv.find_element(By.CLASS_NAME, 'titreRoster'))
drv.find_element(By.CLASS_NAME, 'rosterSection'))

def tearDown(self):
if self.debug:
Expand Down Expand Up @@ -124,10 +120,10 @@ def test_verify_no_ros_files(self):
"There is a .ros file in the tests directory, which will break appspot."
" Rename the file to .test")

def test_LA_5_errors(self):
def test_crusade_6_errors(self):
self.load_list('Empty Validation Test')
errors = self.get_error_list()
self.assertEqual(5, len(errors), "There should be 5 errors in an empty space marine list")
self.assertEqual(6, len(errors), "There should be 6 errors in an empty crusade force org marine list")

def test_dt_does_not_affect_squad_cost(self):
self.load_list('Dedicated Transport Squad Costs')
Expand Down
Loading