chore(trading): refactor test fixtures (#5969)
This commit is contained in:
parent
990c894e2f
commit
9eee76e5a6
@ -3,45 +3,46 @@ from playwright.sync_api import Page, expect
|
||||
from vega_sim.null_service import VegaServiceNull
|
||||
from typing import List
|
||||
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 wallet_config import MM_WALLET, MM_WALLET2
|
||||
from actions.utils import next_epoch
|
||||
from typing import Generator, Tuple
|
||||
|
||||
|
||||
@pytest.fixture(scope="module")
|
||||
def vega(request):
|
||||
with init_vega(request) as vega_instance:
|
||||
request.addfinalizer(lambda: cleanup_container(vega_instance))
|
||||
yield vega_instance
|
||||
def setup_environment(request, browser) -> Generator[Tuple[Page, VegaServiceNull, str], None, None]:
|
||||
# Setup Vega instance and perform cleanup after the test module
|
||||
with init_vega(request) as vega:
|
||||
request.addfinalizer(lambda: cleanup_container(vega))
|
||||
|
||||
# Setup the market using the Vega instance
|
||||
market_id = setup_simple_market(vega)
|
||||
|
||||
@pytest.fixture(scope="module")
|
||||
def setup_market(vega: VegaServiceNull):
|
||||
market_id = setup_simple_market(vega)
|
||||
submit_liquidity(vega, MM_WALLET.name, market_id)
|
||||
submit_multiple_orders(
|
||||
vega,
|
||||
MM_WALLET.name,
|
||||
market_id,
|
||||
"SIDE_SELL",
|
||||
[[10, 130.005], [3, 130], [7, 120], [5, 110], [2, 105]],
|
||||
)
|
||||
submit_multiple_orders(
|
||||
vega,
|
||||
MM_WALLET2.name,
|
||||
market_id,
|
||||
"SIDE_BUY",
|
||||
[[10, 69.995], [5, 70], [5, 85], [3, 90], [3, 95]],
|
||||
)
|
||||
# Perform additional market setup tasks
|
||||
submit_liquidity(vega, MM_WALLET.name, market_id)
|
||||
submit_multiple_orders(
|
||||
vega,
|
||||
MM_WALLET.name,
|
||||
market_id,
|
||||
"SIDE_SELL",
|
||||
[[10, 130.005], [3, 130], [7, 120], [5, 110], [2, 105]],
|
||||
)
|
||||
submit_multiple_orders(
|
||||
vega,
|
||||
MM_WALLET2.name,
|
||||
market_id,
|
||||
"SIDE_BUY",
|
||||
[[10, 69.995], [5, 70], [5, 85], [3, 90], [3, 95]],
|
||||
)
|
||||
|
||||
vega.wait_fn(1)
|
||||
vega.wait_for_total_catchup()
|
||||
|
||||
return [
|
||||
vega,
|
||||
market_id,
|
||||
]
|
||||
# Wait for the setup to be reflected in Vega
|
||||
vega.wait_fn(1)
|
||||
vega.wait_for_total_catchup()
|
||||
|
||||
with init_page(vega, browser, request) as page:
|
||||
risk_accepted_setup(page)
|
||||
yield page, vega, market_id
|
||||
|
||||
|
||||
# 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)
|
||||
|
||||
|
||||
@pytest.mark.usefixtures("risk_accepted")
|
||||
def test_orderbook_grid_content(setup_market, page: Page):
|
||||
vega = setup_market[0]
|
||||
market_id = setup_market[1]
|
||||
|
||||
def test_orderbook_grid_content(setup_environment: Tuple[Page, VegaServiceNull, str],
|
||||
) -> None:
|
||||
page, vega, market_id = setup_environment
|
||||
|
||||
# Create a so that lastTradePrice is shown in the mid section
|
||||
# of the book
|
||||
@ -140,9 +141,10 @@ def test_orderbook_grid_content(setup_market, page: Page):
|
||||
verify_prices_descending(page)
|
||||
|
||||
|
||||
@pytest.mark.usefixtures("risk_accepted")
|
||||
def test_orderbook_resolution_change(setup_market, page: Page):
|
||||
market_id = setup_market[1]
|
||||
|
||||
def test_orderbook_resolution_change(setup_environment: Tuple[Page, VegaServiceNull, str],
|
||||
) -> None:
|
||||
page, vega, market_id = setup_environment
|
||||
# 6003-ORDB-008
|
||||
orderbook_content_0_01 = [
|
||||
[130.01, 10, 126],
|
||||
@ -186,10 +188,12 @@ def test_orderbook_resolution_change(setup_market, page: Page):
|
||||
verify_orderbook_grid(page, resolution[1])
|
||||
|
||||
|
||||
@pytest.mark.usefixtures("risk_accepted")
|
||||
def test_orderbook_price_size_copy(setup_market, page: Page):
|
||||
market_id = setup_market[1]
|
||||
def test_orderbook_price_size_copy(setup_environment: Tuple[Page, VegaServiceNull, str],
|
||||
) -> None:
|
||||
page, vega, market_id = setup_environment
|
||||
# 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-"]')
|
||||
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())
|
||||
|
||||
|
||||
@pytest.mark.usefixtures("risk_accepted")
|
||||
def test_orderbook_price_movement(setup_market, page: Page):
|
||||
vega = setup_market[0]
|
||||
market_id = setup_market[1]
|
||||
|
||||
def test_orderbook_price_movement(setup_environment: Tuple[Page, VegaServiceNull, str],
|
||||
) -> None:
|
||||
page, vega, market_id = setup_environment
|
||||
|
||||
page.goto(f"/#/markets/{market_id}")
|
||||
page.locator("[data-testid=Orderbook]").click()
|
||||
|
@ -1,10 +1,17 @@
|
||||
import pytest
|
||||
import re
|
||||
from typing import Generator, Tuple
|
||||
from playwright.sync_api import Page, expect
|
||||
from vega_sim.null_service import VegaServiceNull
|
||||
from vega_sim.service import MarketStateUpdateType
|
||||
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.vega import submit_multiple_orders
|
||||
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'
|
||||
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:
|
||||
@pytest.fixture(scope="class")
|
||||
def vega(self, request):
|
||||
with init_vega(request) as vega_instance:
|
||||
request.addfinalizer(lambda: cleanup_container(vega_instance))
|
||||
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):
|
||||
def test_funding_payment_profit(self,
|
||||
setup_environment: Tuple[Page, str, str],
|
||||
) -> None:
|
||||
page, vega, perps_market = setup_environment
|
||||
page.goto(f"/#/markets/{perps_market}")
|
||||
page.get_by_test_id("Funding payments").click()
|
||||
row = page.locator(row_selector)
|
||||
expect(row.locator(col_amount)).to_have_text("4.45 tDAI")
|
||||
|
||||
@pytest.mark.usefixtures("risk_accepted", "auth")
|
||||
def test_funding_payment_loss(self, perps_market, page: Page, vega):
|
||||
def test_funding_payment_loss(self,
|
||||
setup_environment: Tuple[Page, str, str],
|
||||
) -> None:
|
||||
page, vega, perps_market = setup_environment
|
||||
page.goto(f"/#/markets/{perps_market}")
|
||||
change_keys(page, vega, "market_maker")
|
||||
page.get_by_test_id("Funding payments").click()
|
||||
row = page.locator(row_selector)
|
||||
expect(row.locator(col_amount)).to_have_text("-13.35 tDAI")
|
||||
|
||||
@pytest.mark.usefixtures("risk_accepted", "auth")
|
||||
def test_funding_header(self, perps_market, page: Page):
|
||||
def test_funding_header(self,
|
||||
setup_environment: Tuple[Page, str, str],
|
||||
) -> None:
|
||||
page, vega, perps_market = setup_environment
|
||||
page.goto(f"/#/markets/{perps_market}")
|
||||
expect(page.get_by_test_id("market-funding")).to_contain_text(
|
||||
"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")
|
||||
|
||||
@pytest.mark.skip("Skipped due to issue #5421")
|
||||
@pytest.mark.usefixtures("risk_accepted", "auth")
|
||||
def test_funding_payment_history(perps_market, page: Page, vega):
|
||||
page.goto(f"/#/markets/{perps_market}")
|
||||
change_keys(page, vega, "market_maker")
|
||||
|
@ -1,27 +1,11 @@
|
||||
import pytest
|
||||
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_VALUE = "margin-health-tooltip-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")
|
||||
def test_usage_breakdown(continuous_market, page: Page):
|
||||
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()
|
||||
usage_breakdown = page.get_by_test_id("usage-breakdown")
|
||||
|
||||
# Verify headers
|
||||
headers = ["Market", "Account type", "Balance"]
|
||||
ag_headers = usage_breakdown.locator(
|
||||
".ag-header-cell-text").element_handles()
|
||||
ag_headers = usage_breakdown.locator(".ag-header-cell-text").element_handles()
|
||||
for i, header_element in enumerate(ag_headers):
|
||||
header_text = header_element.text_content()
|
||||
assert header_text == headers[i]
|
||||
|
||||
# Other expectations
|
||||
expect(usage_breakdown.locator('[class="mb-2 text-sm"]')).to_have_text(
|
||||
"You have 1,000,000.00 tDAI in total."
|
||||
)
|
||||
expect(usage_breakdown.locator(
|
||||
COL_ID_USED).first).to_have_text("8.50269 (0%)")
|
||||
expect(usage_breakdown.locator(COL_ID_USED).first).to_have_text("8.50269 (0%)")
|
||||
expect(usage_breakdown.locator(COL_ID_USED).nth(1)).to_have_text(
|
||||
"999,991.49731 (99%)"
|
||||
)
|
||||
|
@ -6,39 +6,40 @@ from conftest import init_vega, cleanup_container
|
||||
from actions.utils import next_epoch, change_keys
|
||||
from fixtures.market import setup_continuous_market
|
||||
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")
|
||||
def vega(request):
|
||||
def setup_environment(request, browser) -> Generator[Tuple[Page, VegaServiceNull, dict], None, None]:
|
||||
with init_vega(request) as vega_instance:
|
||||
request.addfinalizer(
|
||||
lambda: cleanup_container(vega_instance)
|
||||
)
|
||||
yield vega_instance
|
||||
|
||||
request.addfinalizer(lambda: cleanup_container(vega_instance))
|
||||
setup_data = setup_teams_and_games(vega_instance)
|
||||
yield vega_instance, setup_data
|
||||
|
||||
@pytest.fixture(scope="module")
|
||||
def team_page(vega, browser, request, setup_teams_and_games):
|
||||
with init_page(vega, browser, request) as page:
|
||||
def competitions_page(setup_environment, browser, request) -> Generator[Tuple[Page, str, VegaServiceNull], None, None]:
|
||||
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)
|
||||
auth_setup(vega, page)
|
||||
team_id = setup_teams_and_games["team_id"]
|
||||
page.goto(f"/#/competitions/teams/{team_id}")
|
||||
yield page
|
||||
|
||||
auth_setup(vega_instance, page)
|
||||
page.goto(COMPETITIONS_URL)
|
||||
yield page, team_name, vega_instance
|
||||
|
||||
@pytest.fixture(scope="module")
|
||||
def competitions_page(vega, browser, request, setup_teams_and_games):
|
||||
with init_page(vega, browser, request) as page:
|
||||
def team_page(setup_environment, browser, request) -> Generator[Tuple[Page, str, VegaServiceNull], None, None]:
|
||||
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)
|
||||
auth_setup(vega, page)
|
||||
team_id = setup_teams_and_games["team_id"]
|
||||
page.goto(f"/#/competitions/")
|
||||
yield page
|
||||
auth_setup(vega_instance, page)
|
||||
page.goto(f"{TEAMS_URL}{team_id}")
|
||||
yield page, team_name, team_id, vega_instance
|
||||
|
||||
|
||||
@pytest.fixture(scope="module")
|
||||
def setup_teams_and_games(vega: VegaServiceNull):
|
||||
tDAI_market = setup_continuous_market(vega, custom_quantum=100000)
|
||||
tDAI_asset_id = vega.find_asset_id(symbol="tDAI")
|
||||
@ -232,75 +233,79 @@ def create_team(vega: VegaServiceNull):
|
||||
return team_name
|
||||
|
||||
|
||||
def test_team_page_games_table(team_page: Page):
|
||||
team_page.get_by_test_id("games-toggle").click()
|
||||
expect(team_page.get_by_test_id("games-toggle")).to_have_text("Results (10)")
|
||||
expect(team_page.get_by_test_id("rank-0")).to_have_text("1")
|
||||
expect(team_page.get_by_test_id("epoch-0")).to_have_text("19")
|
||||
expect(team_page.get_by_test_id("type-0")).to_have_text(
|
||||
def test_team_page_games_table(team_page:Tuple[Page, str, str, VegaServiceNull]):
|
||||
page, team_name, team_id, vega = team_page
|
||||
page.get_by_test_id("games-toggle").click()
|
||||
expect(page.get_by_test_id("games-toggle")).to_have_text("Results (10)")
|
||||
expect(page.get_by_test_id("rank-0")).to_have_text("1")
|
||||
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 "
|
||||
)
|
||||
# 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(team_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("amount-0")).to_have_text("74") # 50,000,000 on 74.1
|
||||
expect(page.get_by_test_id("participatingTeams-0")).to_have_text("2")
|
||||
expect(page.get_by_test_id("participatingMembers-0")).to_have_text("3")
|
||||
|
||||
|
||||
def test_team_page_members_table(team_page: Page):
|
||||
team_page.get_by_test_id("members-toggle").click()
|
||||
expect(team_page.get_by_test_id("members-toggle")).to_have_text("Members (4)")
|
||||
expect(team_page.get_by_test_id("referee-0")).to_be_visible()
|
||||
expect(team_page.get_by_test_id("joinedAt-0")).to_be_visible()
|
||||
expect(team_page.get_by_test_id("joinedAtEpoch-0")).to_have_text("9")
|
||||
def test_team_page_members_table(team_page:Tuple[Page, str, str, VegaServiceNull]):
|
||||
page, team_name, team_id, vega = team_page
|
||||
page.get_by_test_id("members-toggle").click()
|
||||
expect(page.get_by_test_id("members-toggle")).to_have_text("Members (4)")
|
||||
expect(page.get_by_test_id("referee-0")).to_be_visible()
|
||||
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):
|
||||
team_name = setup_teams_and_games["team_name"]
|
||||
expect(team_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")
|
||||
def test_team_page_headline(team_page:Tuple[Page, str, str, VegaServiceNull]):
|
||||
page, team_name, team_id, vega = team_page
|
||||
expect(page.get_by_test_id("team-name")).to_have_text(team_name)
|
||||
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
|
||||
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):
|
||||
team_page.get_by_test_id("switch-team-button").click()
|
||||
team_page.get_by_test_id("confirm-switch-button").click()
|
||||
expect(team_page.get_by_test_id("dialog-content").first).to_be_visible()
|
||||
def test_switch_teams(team_page:Tuple[Page, str, str, VegaServiceNull]):
|
||||
page, team_name, team_id, vega = team_page
|
||||
page.get_by_test_id("switch-team-button").click()
|
||||
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_for_total_catchup()
|
||||
next_epoch(vega=vega)
|
||||
team_page.reload()
|
||||
expect(team_page.get_by_test_id("members-count-stat")).to_have_text("5")
|
||||
page.reload()
|
||||
expect(page.get_by_test_id("members-count-stat")).to_have_text("5")
|
||||
|
||||
|
||||
def test_leaderboard(competitions_page: Page, setup_teams_and_games):
|
||||
team_name = setup_teams_and_games["team_name"]
|
||||
competitions_page.reload()
|
||||
def test_leaderboard(competitions_page:Tuple[Page, str, VegaServiceNull]):
|
||||
page, team_name, vega = competitions_page
|
||||
page.reload()
|
||||
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)
|
||||
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)
|
||||
expect(competitions_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("team-1")).to_have_text(team_name)
|
||||
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
|
||||
# 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
|
||||
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):
|
||||
expect(competitions_page.get_by_test_id("active-rewards-card")).to_have_count(1)
|
||||
game_1 = competitions_page.get_by_test_id("active-rewards-card").first
|
||||
def test_game_card(competitions_page:Tuple[Page, str, VegaServiceNull]):
|
||||
page, team_name, vega = competitions_page
|
||||
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.get_by_test_id("entity-scope")).to_have_text("Team")
|
||||
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")
|
||||
|
||||
|
||||
def test_create_team(competitions_page: Page, vega: VegaServiceNull):
|
||||
change_keys(competitions_page, vega, "market_maker_2")
|
||||
competitions_page.get_by_test_id("create-public-team-button").click()
|
||||
competitions_page.get_by_test_id("team-name-input").fill("e2e")
|
||||
competitions_page.get_by_test_id("team-url-input").fill("https://vega.xyz")
|
||||
competitions_page.get_by_test_id("avatar-url-input").fill(
|
||||
def test_create_team(competitions_page:Tuple[Page, str, VegaServiceNull]):
|
||||
page, team_id, vega = competitions_page
|
||||
change_keys(page, vega, MM_WALLET2.name)
|
||||
page.get_by_test_id("create-public-team-button").click()
|
||||
page.get_by_test_id("team-name-input").fill("e2e")
|
||||
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"
|
||||
)
|
||||
competitions_page.get_by_test_id("team-form-submit-button").click()
|
||||
expect(competitions_page.get_by_test_id("team-form-submit-button")).to_have_text(
|
||||
page.get_by_test_id("team-form-submit-button").click()
|
||||
expect(page.get_by_test_id("team-form-submit-button")).to_have_text(
|
||||
"Confirming transaction..."
|
||||
)
|
||||
vega.wait_fn(2)
|
||||
vega.wait_for_total_catchup()
|
||||
expect(
|
||||
competitions_page.get_by_test_id("team-creation-success-message")
|
||||
page.get_by_test_id("team-creation-success-message")
|
||||
).to_be_visible()
|
||||
expect(competitions_page.get_by_test_id("team-id-display")).to_be_visible()
|
||||
expect(competitions_page.get_by_test_id("team-id-display")).to_be_visible()
|
||||
competitions_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-id-display")).to_be_visible()
|
||||
expect(page.get_by_test_id("team-id-display")).to_be_visible()
|
||||
page.get_by_test_id("view-team-button").click()
|
||||
expect(page.get_by_test_id("team-name")).to_have_text("e2e")
|
||||
|
@ -1,4 +1,4 @@
|
||||
import pytest
|
||||
""" import pytest
|
||||
from playwright.sync_api import expect, Page
|
||||
from vega_sim.null_service import VegaServiceNull
|
||||
|
||||
@ -207,3 +207,4 @@ def test_trade_match_table(opening_auction_market: str, vega: VegaServiceNull, p
|
||||
expect(
|
||||
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")
|
||||
"""
|
@ -5,16 +5,12 @@ from vega_sim.null_service import VegaServiceNull
|
||||
from actions.utils import (
|
||||
wait_for_toast_confirmation,
|
||||
create_and_faucet_wallet,
|
||||
WalletConfig,
|
||||
next_epoch,
|
||||
change_keys,
|
||||
)
|
||||
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")
|
||||
|
Loading…
Reference in New Issue
Block a user