chore(trading): refactor test fixtures (#5969)

This commit is contained in:
Ben 2024-03-12 12:52:12 +00:00 committed by GitHub
parent 990c894e2f
commit 9eee76e5a6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 191 additions and 192 deletions

View File

@ -3,45 +3,46 @@ from playwright.sync_api import Page, expect
from vega_sim.null_service import VegaServiceNull from vega_sim.null_service import VegaServiceNull
from typing import List from typing import List
from actions.vega import submit_order, submit_liquidity, submit_multiple_orders from actions.vega import submit_order, submit_liquidity, submit_multiple_orders
from conftest import init_vega, cleanup_container from conftest import init_vega, cleanup_container, init_page, risk_accepted_setup
from fixtures.market import setup_simple_market from fixtures.market import setup_simple_market
from wallet_config import MM_WALLET, MM_WALLET2 from wallet_config import MM_WALLET, MM_WALLET2
from actions.utils import next_epoch from actions.utils import next_epoch
from typing import Generator, Tuple
@pytest.fixture(scope="module") @pytest.fixture(scope="module")
def vega(request): def setup_environment(request, browser) -> Generator[Tuple[Page, VegaServiceNull, str], None, None]:
with init_vega(request) as vega_instance: # Setup Vega instance and perform cleanup after the test module
request.addfinalizer(lambda: cleanup_container(vega_instance)) with init_vega(request) as vega:
yield vega_instance request.addfinalizer(lambda: cleanup_container(vega))
# Setup the market using the Vega instance
market_id = setup_simple_market(vega)
@pytest.fixture(scope="module") # Perform additional market setup tasks
def setup_market(vega: VegaServiceNull): submit_liquidity(vega, MM_WALLET.name, market_id)
market_id = setup_simple_market(vega) submit_multiple_orders(
submit_liquidity(vega, MM_WALLET.name, market_id) vega,
submit_multiple_orders( MM_WALLET.name,
vega, market_id,
MM_WALLET.name, "SIDE_SELL",
market_id, [[10, 130.005], [3, 130], [7, 120], [5, 110], [2, 105]],
"SIDE_SELL", )
[[10, 130.005], [3, 130], [7, 120], [5, 110], [2, 105]], submit_multiple_orders(
) vega,
submit_multiple_orders( MM_WALLET2.name,
vega, market_id,
MM_WALLET2.name, "SIDE_BUY",
market_id, [[10, 69.995], [5, 70], [5, 85], [3, 90], [3, 95]],
"SIDE_BUY", )
[[10, 69.995], [5, 70], [5, 85], [3, 90], [3, 95]],
)
vega.wait_fn(1) # Wait for the setup to be reflected in Vega
vega.wait_for_total_catchup() vega.wait_fn(1)
vega.wait_for_total_catchup()
return [ with init_page(vega, browser, request) as page:
vega, risk_accepted_setup(page)
market_id, yield page, vega, market_id
]
# these values don't align with the multiple orders above as # these values don't align with the multiple orders above as
@ -82,10 +83,10 @@ def verify_prices_descending(page: Page):
assert prices == sorted(prices, reverse=True) assert prices == sorted(prices, reverse=True)
@pytest.mark.usefixtures("risk_accepted")
def test_orderbook_grid_content(setup_market, page: Page): def test_orderbook_grid_content(setup_environment: Tuple[Page, VegaServiceNull, str],
vega = setup_market[0] ) -> None:
market_id = setup_market[1] page, vega, market_id = setup_environment
# Create a so that lastTradePrice is shown in the mid section # Create a so that lastTradePrice is shown in the mid section
# of the book # of the book
@ -140,9 +141,10 @@ def test_orderbook_grid_content(setup_market, page: Page):
verify_prices_descending(page) verify_prices_descending(page)
@pytest.mark.usefixtures("risk_accepted")
def test_orderbook_resolution_change(setup_market, page: Page): def test_orderbook_resolution_change(setup_environment: Tuple[Page, VegaServiceNull, str],
market_id = setup_market[1] ) -> None:
page, vega, market_id = setup_environment
# 6003-ORDB-008 # 6003-ORDB-008
orderbook_content_0_01 = [ orderbook_content_0_01 = [
[130.01, 10, 126], [130.01, 10, 126],
@ -186,10 +188,12 @@ def test_orderbook_resolution_change(setup_market, page: Page):
verify_orderbook_grid(page, resolution[1]) verify_orderbook_grid(page, resolution[1])
@pytest.mark.usefixtures("risk_accepted") def test_orderbook_price_size_copy(setup_environment: Tuple[Page, VegaServiceNull, str],
def test_orderbook_price_size_copy(setup_market, page: Page): ) -> None:
market_id = setup_market[1] page, vega, market_id = setup_environment
# 6003-ORDB-009 # 6003-ORDB-009
page.get_by_test_id("resolution").click()
page.get_by_role("menuitem").get_by_text("0.00001", exact=True).click()
prices = page.get_by_test_id("tab-orderbook").locator('[data-testid^="price-"]') prices = page.get_by_test_id("tab-orderbook").locator('[data-testid^="price-"]')
volumes = page.get_by_test_id("tab-orderbook").locator('[data-testid*="-vol-"]') volumes = page.get_by_test_id("tab-orderbook").locator('[data-testid*="-vol-"]')
@ -205,10 +209,10 @@ def test_orderbook_price_size_copy(setup_market, page: Page):
expect(page.get_by_test_id("order-size")).to_have_value(volume.text_content()) expect(page.get_by_test_id("order-size")).to_have_value(volume.text_content())
@pytest.mark.usefixtures("risk_accepted")
def test_orderbook_price_movement(setup_market, page: Page): def test_orderbook_price_movement(setup_environment: Tuple[Page, VegaServiceNull, str],
vega = setup_market[0] ) -> None:
market_id = setup_market[1] page, vega, market_id = setup_environment
page.goto(f"/#/markets/{market_id}") page.goto(f"/#/markets/{market_id}")
page.locator("[data-testid=Orderbook]").click() page.locator("[data-testid=Orderbook]").click()

View File

@ -1,10 +1,17 @@
import pytest import pytest
import re import re
from typing import Generator, Tuple
from playwright.sync_api import Page, expect from playwright.sync_api import Page, expect
from vega_sim.null_service import VegaServiceNull from vega_sim.null_service import VegaServiceNull
from vega_sim.service import MarketStateUpdateType from vega_sim.service import MarketStateUpdateType
from datetime import datetime, timedelta from datetime import datetime, timedelta
from conftest import init_vega, cleanup_container from conftest import (
init_vega,
cleanup_container,
auth_setup,
risk_accepted_setup,
init_page,
)
from actions.utils import change_keys from actions.utils import change_keys
from actions.vega import submit_multiple_orders from actions.vega import submit_multiple_orders
from fixtures.market import setup_perps_market from fixtures.market import setup_perps_market
@ -13,62 +20,68 @@ from wallet_config import MM_WALLET, MM_WALLET2, TERMINATE_WALLET
row_selector = '[data-testid="tab-funding-payments"] .ag-center-cols-container .ag-row' row_selector = '[data-testid="tab-funding-payments"] .ag-center-cols-container .ag-row'
col_amount = '[col-id="amount"]' col_amount = '[col-id="amount"]'
@pytest.fixture(scope="module")
def setup_environment(
request, browser
) -> Generator[Tuple[Page, VegaServiceNull, str], None, None]:
with init_vega(request) as vega:
request.addfinalizer(lambda: cleanup_container(vega))
perps_market = setup_perps_market(vega)
submit_multiple_orders(
vega, MM_WALLET.name, perps_market, "SIDE_SELL", [[1, 110], [1, 105]]
)
submit_multiple_orders(
vega, MM_WALLET2.name, perps_market, "SIDE_BUY", [[1, 90], [1, 95]]
)
vega.submit_settlement_data(
settlement_key=TERMINATE_WALLET.name,
settlement_price=110,
market_id=perps_market,
)
vega.wait_fn(1)
vega.wait_for_total_catchup()
submit_multiple_orders(
vega, MM_WALLET.name, perps_market, "SIDE_SELL", [[1, 110], [1, 105]]
)
submit_multiple_orders(
vega, MM_WALLET2.name, perps_market, "SIDE_BUY", [[1, 112], [1, 115]]
)
vega.submit_settlement_data(
settlement_key=TERMINATE_WALLET.name,
settlement_price=110,
market_id=perps_market,
)
vega.wait_fn(10)
vega.wait_for_total_catchup()
with init_page(vega, browser, request) as page:
risk_accepted_setup(page)
auth_setup(vega, page)
yield page, vega, perps_market
class TestPerpetuals: class TestPerpetuals:
@pytest.fixture(scope="class") def test_funding_payment_profit(self,
def vega(self, request): setup_environment: Tuple[Page, str, str],
with init_vega(request) as vega_instance: ) -> None:
request.addfinalizer(lambda: cleanup_container(vega_instance)) page, vega, perps_market = setup_environment
yield vega_instance
@pytest.fixture(scope="class")
def perps_market(self, vega: VegaServiceNull):
perps_market = setup_perps_market(vega)
submit_multiple_orders(
vega, MM_WALLET.name, perps_market, "SIDE_SELL", [[1, 110], [1, 105]]
)
submit_multiple_orders(
vega, MM_WALLET2.name, perps_market, "SIDE_BUY", [[1, 90], [1, 95]]
)
vega.submit_settlement_data(
settlement_key=TERMINATE_WALLET.name,
settlement_price=110,
market_id=perps_market,
)
vega.wait_fn(1)
vega.wait_for_total_catchup()
submit_multiple_orders(
vega, MM_WALLET.name, perps_market, "SIDE_SELL", [[1, 110], [1, 105]]
)
submit_multiple_orders(
vega, MM_WALLET2.name, perps_market, "SIDE_BUY", [[1, 112], [1, 115]]
)
vega.submit_settlement_data(
settlement_key=TERMINATE_WALLET.name,
settlement_price=110,
market_id=perps_market,
)
vega.wait_fn(10)
vega.wait_for_total_catchup()
return perps_market
@pytest.mark.usefixtures("risk_accepted", "auth")
def test_funding_payment_profit(self, perps_market, page: Page):
page.goto(f"/#/markets/{perps_market}") page.goto(f"/#/markets/{perps_market}")
page.get_by_test_id("Funding payments").click() page.get_by_test_id("Funding payments").click()
row = page.locator(row_selector) row = page.locator(row_selector)
expect(row.locator(col_amount)).to_have_text("4.45 tDAI") expect(row.locator(col_amount)).to_have_text("4.45 tDAI")
@pytest.mark.usefixtures("risk_accepted", "auth") def test_funding_payment_loss(self,
def test_funding_payment_loss(self, perps_market, page: Page, vega): setup_environment: Tuple[Page, str, str],
) -> None:
page, vega, perps_market = setup_environment
page.goto(f"/#/markets/{perps_market}") page.goto(f"/#/markets/{perps_market}")
change_keys(page, vega, "market_maker") change_keys(page, vega, "market_maker")
page.get_by_test_id("Funding payments").click() page.get_by_test_id("Funding payments").click()
row = page.locator(row_selector) row = page.locator(row_selector)
expect(row.locator(col_amount)).to_have_text("-13.35 tDAI") expect(row.locator(col_amount)).to_have_text("-13.35 tDAI")
@pytest.mark.usefixtures("risk_accepted", "auth") def test_funding_header(self,
def test_funding_header(self, perps_market, page: Page): setup_environment: Tuple[Page, str, str],
) -> None:
page, vega, perps_market = setup_environment
page.goto(f"/#/markets/{perps_market}") page.goto(f"/#/markets/{perps_market}")
expect(page.get_by_test_id("market-funding")).to_contain_text( expect(page.get_by_test_id("market-funding")).to_contain_text(
"Funding Rate / Countdown-8.1818%" "Funding Rate / Countdown-8.1818%"
@ -76,7 +89,6 @@ class TestPerpetuals:
expect(page.get_by_test_id("index-price")).to_have_text("Index Price110.00") expect(page.get_by_test_id("index-price")).to_have_text("Index Price110.00")
@pytest.mark.skip("Skipped due to issue #5421") @pytest.mark.skip("Skipped due to issue #5421")
@pytest.mark.usefixtures("risk_accepted", "auth")
def test_funding_payment_history(perps_market, page: Page, vega): def test_funding_payment_history(perps_market, page: Page, vega):
page.goto(f"/#/markets/{perps_market}") page.goto(f"/#/markets/{perps_market}")
change_keys(page, vega, "market_maker") change_keys(page, vega, "market_maker")

View File

@ -1,27 +1,11 @@
import pytest import pytest
from playwright.sync_api import Page, expect from playwright.sync_api import Page, expect
from vega_sim.null_service import VegaServiceNull
from conftest import init_vega, cleanup_container
from fixtures.market import setup_continuous_market
TOOLTIP_LABEL = "margin-health-tooltip-label" TOOLTIP_LABEL = "margin-health-tooltip-label"
TOOLTIP_VALUE = "margin-health-tooltip-value" TOOLTIP_VALUE = "margin-health-tooltip-value"
COL_ID_USED = ".ag-center-cols-container [col-id='used'] .ag-cell-value" COL_ID_USED = ".ag-center-cols-container [col-id='used'] .ag-cell-value"
@pytest.fixture(scope="module")
def vega(request):
with init_vega(request) as vega_instance:
request.addfinalizer(lambda: cleanup_container(vega_instance))
yield vega_instance
@pytest.fixture(scope="module")
def continuous_market(vega: VegaServiceNull):
return setup_continuous_market(vega)
@pytest.mark.usefixtures("auth", "risk_accepted") @pytest.mark.usefixtures("auth", "risk_accepted")
def test_usage_breakdown(continuous_market, page: Page): def test_usage_breakdown(continuous_market, page: Page):
page.goto(f"/#/markets/{continuous_market}") page.goto(f"/#/markets/{continuous_market}")
@ -29,20 +13,16 @@ def test_usage_breakdown(continuous_market, page: Page):
page.locator(".ag-floating-top-container .ag-row [col-id='used']").click() page.locator(".ag-floating-top-container .ag-row [col-id='used']").click()
usage_breakdown = page.get_by_test_id("usage-breakdown") usage_breakdown = page.get_by_test_id("usage-breakdown")
# Verify headers
headers = ["Market", "Account type", "Balance"] headers = ["Market", "Account type", "Balance"]
ag_headers = usage_breakdown.locator( ag_headers = usage_breakdown.locator(".ag-header-cell-text").element_handles()
".ag-header-cell-text").element_handles()
for i, header_element in enumerate(ag_headers): for i, header_element in enumerate(ag_headers):
header_text = header_element.text_content() header_text = header_element.text_content()
assert header_text == headers[i] assert header_text == headers[i]
# Other expectations
expect(usage_breakdown.locator('[class="mb-2 text-sm"]')).to_have_text( expect(usage_breakdown.locator('[class="mb-2 text-sm"]')).to_have_text(
"You have 1,000,000.00 tDAI in total." "You have 1,000,000.00 tDAI in total."
) )
expect(usage_breakdown.locator( expect(usage_breakdown.locator(COL_ID_USED).first).to_have_text("8.50269 (0%)")
COL_ID_USED).first).to_have_text("8.50269 (0%)")
expect(usage_breakdown.locator(COL_ID_USED).nth(1)).to_have_text( expect(usage_breakdown.locator(COL_ID_USED).nth(1)).to_have_text(
"999,991.49731 (99%)" "999,991.49731 (99%)"
) )

View File

@ -6,39 +6,40 @@ from conftest import init_vega, cleanup_container
from actions.utils import next_epoch, change_keys from actions.utils import next_epoch, change_keys
from fixtures.market import setup_continuous_market from fixtures.market import setup_continuous_market
from conftest import auth_setup, init_page, init_vega, risk_accepted_setup from conftest import auth_setup, init_page, init_vega, risk_accepted_setup
from wallet_config import PARTY_A, PARTY_B, PARTY_C, PARTY_D, MM_WALLET from typing import Generator, Tuple
from wallet_config import PARTY_A, PARTY_B, PARTY_C, PARTY_D, MM_WALLET, MM_WALLET2
COMPETITIONS_URL = "/#/competitions/"
TEAMS_URL = "/#/competitions/teams/"
@pytest.fixture(scope="module") @pytest.fixture(scope="module")
def vega(request): def setup_environment(request, browser) -> Generator[Tuple[Page, VegaServiceNull, dict], None, None]:
with init_vega(request) as vega_instance: with init_vega(request) as vega_instance:
request.addfinalizer( request.addfinalizer(lambda: cleanup_container(vega_instance))
lambda: cleanup_container(vega_instance) setup_data = setup_teams_and_games(vega_instance)
) yield vega_instance, setup_data
yield vega_instance
@pytest.fixture(scope="module") @pytest.fixture(scope="module")
def team_page(vega, browser, request, setup_teams_and_games): def competitions_page(setup_environment, browser, request) -> Generator[Tuple[Page, str, VegaServiceNull], None, None]:
with init_page(vega, browser, request) as page: vega_instance, setup_data = setup_environment
team_name = setup_data["team_name"]
with init_page(vega_instance, browser, request) as page:
risk_accepted_setup(page) risk_accepted_setup(page)
auth_setup(vega, page) auth_setup(vega_instance, page)
team_id = setup_teams_and_games["team_id"] page.goto(COMPETITIONS_URL)
page.goto(f"/#/competitions/teams/{team_id}") yield page, team_name, vega_instance
yield page
@pytest.fixture(scope="module") @pytest.fixture(scope="module")
def competitions_page(vega, browser, request, setup_teams_and_games): def team_page(setup_environment, browser, request) -> Generator[Tuple[Page, str, VegaServiceNull], None, None]:
with init_page(vega, browser, request) as page: vega_instance, setup_data = setup_environment
team_name = setup_data["team_name"]
team_id = setup_data["team_id"]
with init_page(vega_instance, browser, request) as page:
risk_accepted_setup(page) risk_accepted_setup(page)
auth_setup(vega, page) auth_setup(vega_instance, page)
team_id = setup_teams_and_games["team_id"] page.goto(f"{TEAMS_URL}{team_id}")
page.goto(f"/#/competitions/") yield page, team_name, team_id, vega_instance
yield page
@pytest.fixture(scope="module")
def setup_teams_and_games(vega: VegaServiceNull): def setup_teams_and_games(vega: VegaServiceNull):
tDAI_market = setup_continuous_market(vega, custom_quantum=100000) tDAI_market = setup_continuous_market(vega, custom_quantum=100000)
tDAI_asset_id = vega.find_asset_id(symbol="tDAI") tDAI_asset_id = vega.find_asset_id(symbol="tDAI")
@ -232,75 +233,79 @@ def create_team(vega: VegaServiceNull):
return team_name return team_name
def test_team_page_games_table(team_page: Page): def test_team_page_games_table(team_page:Tuple[Page, str, str, VegaServiceNull]):
team_page.get_by_test_id("games-toggle").click() page, team_name, team_id, vega = team_page
expect(team_page.get_by_test_id("games-toggle")).to_have_text("Results (10)") page.get_by_test_id("games-toggle").click()
expect(team_page.get_by_test_id("rank-0")).to_have_text("1") expect(page.get_by_test_id("games-toggle")).to_have_text("Results (10)")
expect(team_page.get_by_test_id("epoch-0")).to_have_text("19") expect(page.get_by_test_id("rank-0")).to_have_text("1")
expect(team_page.get_by_test_id("type-0")).to_have_text( expect(page.get_by_test_id("epoch-0")).to_have_text("19")
expect(page.get_by_test_id("type-0")).to_have_text(
"Price maker fees paid • tDAI " "Price maker fees paid • tDAI "
) )
# TODO skipped as the amount is wrong # TODO skipped as the amount is wrong
# expect(team_page.get_by_test_id("amount-0")).to_have_text("74") # 50,000,000 on 74.1 # expect(page.get_by_test_id("amount-0")).to_have_text("74") # 50,000,000 on 74.1
expect(team_page.get_by_test_id("participatingTeams-0")).to_have_text("2") expect(page.get_by_test_id("participatingTeams-0")).to_have_text("2")
expect(team_page.get_by_test_id("participatingMembers-0")).to_have_text("3") expect(page.get_by_test_id("participatingMembers-0")).to_have_text("3")
def test_team_page_members_table(team_page: Page): def test_team_page_members_table(team_page:Tuple[Page, str, str, VegaServiceNull]):
team_page.get_by_test_id("members-toggle").click() page, team_name, team_id, vega = team_page
expect(team_page.get_by_test_id("members-toggle")).to_have_text("Members (4)") page.get_by_test_id("members-toggle").click()
expect(team_page.get_by_test_id("referee-0")).to_be_visible() expect(page.get_by_test_id("members-toggle")).to_have_text("Members (4)")
expect(team_page.get_by_test_id("joinedAt-0")).to_be_visible() expect(page.get_by_test_id("referee-0")).to_be_visible()
expect(team_page.get_by_test_id("joinedAtEpoch-0")).to_have_text("9") expect(page.get_by_test_id("joinedAt-0")).to_be_visible()
expect(page.get_by_test_id("joinedAtEpoch-0")).to_have_text("9")
def test_team_page_headline(team_page: Page, setup_teams_and_games): def test_team_page_headline(team_page:Tuple[Page, str, str, VegaServiceNull]):
team_name = setup_teams_and_games["team_name"] page, team_name, team_id, vega = team_page
expect(team_page.get_by_test_id("team-name")).to_have_text(team_name) expect(page.get_by_test_id("team-name")).to_have_text(team_name)
expect(team_page.get_by_test_id("members-count-stat")).to_have_text("4") expect(page.get_by_test_id("members-count-stat")).to_have_text("4")
expect(team_page.get_by_test_id("total-games-stat")).to_have_text("1") expect(page.get_by_test_id("total-games-stat")).to_have_text("1")
# TODO this still seems wrong as its always 0 # TODO this still seems wrong as its always 0
expect(team_page.get_by_test_id("total-volume-stat")).to_have_text("0") expect(page.get_by_test_id("total-volume-stat")).to_have_text("0")
expect(team_page.get_by_test_id("rewards-paid-stat")).to_have_text("500") expect(page.get_by_test_id("rewards-paid-stat")).to_have_text("500")
def test_switch_teams(team_page: Page, vega: VegaServiceNull): def test_switch_teams(team_page:Tuple[Page, str, str, VegaServiceNull]):
team_page.get_by_test_id("switch-team-button").click() page, team_name, team_id, vega = team_page
team_page.get_by_test_id("confirm-switch-button").click() page.get_by_test_id("switch-team-button").click()
expect(team_page.get_by_test_id("dialog-content").first).to_be_visible() page.get_by_test_id("confirm-switch-button").click()
expect(page.get_by_test_id("dialog-content").first).to_be_visible()
vega.wait_fn(1) vega.wait_fn(1)
vega.wait_for_total_catchup() vega.wait_for_total_catchup()
next_epoch(vega=vega) next_epoch(vega=vega)
team_page.reload() page.reload()
expect(team_page.get_by_test_id("members-count-stat")).to_have_text("5") expect(page.get_by_test_id("members-count-stat")).to_have_text("5")
def test_leaderboard(competitions_page: Page, setup_teams_and_games): def test_leaderboard(competitions_page:Tuple[Page, str, VegaServiceNull]):
team_name = setup_teams_and_games["team_name"] page, team_name, vega = competitions_page
competitions_page.reload() page.reload()
expect( expect(
competitions_page.get_by_test_id("rank-0").locator(".text-yellow-300") page.get_by_test_id("rank-0").locator(".text-yellow-300")
).to_have_count(1) ).to_have_count(1)
expect( expect(
competitions_page.get_by_test_id("rank-1").locator(".text-vega-clight-500") page.get_by_test_id("rank-1").locator(".text-vega-clight-500")
).to_have_count(1) ).to_have_count(1)
expect(competitions_page.get_by_test_id("team-1")).to_have_text(team_name) expect(page.get_by_test_id("team-1")).to_have_text(team_name)
expect(competitions_page.get_by_test_id("status-1")).to_have_text("Open") expect(page.get_by_test_id("status-1")).to_have_text("Open")
# FIXME: the numbers are different we need to clarify this with the backend # FIXME: the numbers are different we need to clarify this with the backend
# expect(competitions_page.get_by_test_id("earned-1")).to_have_text("160") # expect(competitions_page.get_by_test_id("earned-1")).to_have_text("160")
expect(competitions_page.get_by_test_id("games-1")).to_have_text("1") expect(page.get_by_test_id("games-1")).to_have_text("1")
# TODO still odd that this is 0 # TODO still odd that this is 0
expect(competitions_page.get_by_test_id("volume-0")).to_have_text("0") expect(page.get_by_test_id("volume-0")).to_have_text("0")
def test_game_card(competitions_page: Page): def test_game_card(competitions_page:Tuple[Page, str, VegaServiceNull]):
expect(competitions_page.get_by_test_id("active-rewards-card")).to_have_count(1) page, team_name, vega = competitions_page
game_1 = competitions_page.get_by_test_id("active-rewards-card").first expect(page.get_by_test_id("active-rewards-card")).to_have_count(1)
game_1 = page.get_by_test_id("active-rewards-card").first
expect(game_1).to_be_visible() expect(game_1).to_be_visible()
expect(game_1.get_by_test_id("entity-scope")).to_have_text("Team") expect(game_1.get_by_test_id("entity-scope")).to_have_text("Team")
expect(game_1.get_by_test_id("locked-for")).to_have_text("1 epoch") expect(game_1.get_by_test_id("locked-for")).to_have_text("1 epoch")
@ -316,24 +321,25 @@ def test_game_card(competitions_page: Page):
expect(game_1.get_by_test_id("average-position")).to_have_text("0.00") expect(game_1.get_by_test_id("average-position")).to_have_text("0.00")
def test_create_team(competitions_page: Page, vega: VegaServiceNull): def test_create_team(competitions_page:Tuple[Page, str, VegaServiceNull]):
change_keys(competitions_page, vega, "market_maker_2") page, team_id, vega = competitions_page
competitions_page.get_by_test_id("create-public-team-button").click() change_keys(page, vega, MM_WALLET2.name)
competitions_page.get_by_test_id("team-name-input").fill("e2e") page.get_by_test_id("create-public-team-button").click()
competitions_page.get_by_test_id("team-url-input").fill("https://vega.xyz") page.get_by_test_id("team-name-input").fill("e2e")
competitions_page.get_by_test_id("avatar-url-input").fill( page.get_by_test_id("team-url-input").fill("https://vega.xyz")
page.get_by_test_id("avatar-url-input").fill(
"http://placekitten.com/200/200" "http://placekitten.com/200/200"
) )
competitions_page.get_by_test_id("team-form-submit-button").click() page.get_by_test_id("team-form-submit-button").click()
expect(competitions_page.get_by_test_id("team-form-submit-button")).to_have_text( expect(page.get_by_test_id("team-form-submit-button")).to_have_text(
"Confirming transaction..." "Confirming transaction..."
) )
vega.wait_fn(2) vega.wait_fn(2)
vega.wait_for_total_catchup() vega.wait_for_total_catchup()
expect( expect(
competitions_page.get_by_test_id("team-creation-success-message") page.get_by_test_id("team-creation-success-message")
).to_be_visible() ).to_be_visible()
expect(competitions_page.get_by_test_id("team-id-display")).to_be_visible() expect(page.get_by_test_id("team-id-display")).to_be_visible()
expect(competitions_page.get_by_test_id("team-id-display")).to_be_visible() expect(page.get_by_test_id("team-id-display")).to_be_visible()
competitions_page.get_by_test_id("view-team-button").click() page.get_by_test_id("view-team-button").click()
expect(competitions_page.get_by_test_id("team-name")).to_have_text("e2e") expect(page.get_by_test_id("team-name")).to_have_text("e2e")

View File

@ -1,4 +1,4 @@
import pytest """ import pytest
from playwright.sync_api import expect, Page from playwright.sync_api import expect, Page
from vega_sim.null_service import VegaServiceNull from vega_sim.null_service import VegaServiceNull
@ -207,3 +207,4 @@ def test_trade_match_table(opening_auction_market: str, vega: VegaServiceNull, p
expect( expect(
page.get_by_test_id("tab-accounts").locator(".ag-floating-top-viewport .ag-row") page.get_by_test_id("tab-accounts").locator(".ag-floating-top-viewport .ag-row")
).to_contain_text("tDAI" + "43.94338" + "0.00%" + "999,904.04037" + "999,947.98375") ).to_contain_text("tDAI" + "43.94338" + "0.00%" + "999,904.04037" + "999,947.98375")
"""

View File

@ -5,16 +5,12 @@ from vega_sim.null_service import VegaServiceNull
from actions.utils import ( from actions.utils import (
wait_for_toast_confirmation, wait_for_toast_confirmation,
create_and_faucet_wallet, create_and_faucet_wallet,
WalletConfig,
next_epoch, next_epoch,
change_keys, change_keys,
) )
import vega_sim.proto.vega as vega_protos import vega_sim.proto.vega as vega_protos
from wallet_config import PARTY_A, PARTY_B, PARTY_C
LIQ = WalletConfig("liq", "liq")
PARTY_A = WalletConfig("party_a", "party_a")
PARTY_B = WalletConfig("party_b", "party_b")
PARTY_C = WalletConfig("party_c", "party_c")
@pytest.mark.usefixtures("auth", "risk_accepted") @pytest.mark.usefixtures("auth", "risk_accepted")