import allure import pytest from assertpy import assert_that from playwright.sync_api import expect @pytest.mark.usefixtures("app") class TestArtistPageTableDataAndColumns: @pytest.mark.parametrize("market_url,market_name,market_api", [ ("4", "US", "us"), ("14", "Global", "_gl"), ]) @allure.title("[AP-10635][Artist Page] Table columns and data verification") @allure.description("""columns and data on the Artist page table.""") @allure.testcase("https://data-analytics.atlassian.net/browse/AP-10659") def test_artist_page_tracks_table_data_and_columns_verification(self, market_url, market_name, market_api): self.login_page.login() artist_id = "5YGY8feqx7naU7z4HrwZM6" self.app.go_to(self.artist_header.url.format(artist_id, market_url)) # step 1, 4 track_table_columns = self.artists_tracks_table.table_header.get_text() assert_that(track_table_columns)\ .is_equal_to(f"#TrackAlbumReleaseDateCurrent 7 Days{market_name} Streams{market_name} Streams, Current 7 DaysChange") # step 2, 3, 5 api_response_artist = self.app.api.get_artist_tracks(artist_id, "all", market_api) self.artists_tracks_table.verify_table_data(api_response_artist) self.artists_tracks_table.title.click() self.artists_tracks_table.page.keyboard.down('End') expect(self.artists_tracks_table.position_cells._element.last)\ .to_have_text(f"{len(api_response_artist)}") # # step 6 # track_from_resp_int = random.randint(0, len(api_response_artist)-1) # isrc = api_response_artist[track_from_resp_int]["spotifyTrack"]["isrc"] # track_id = api_response_artist[track_from_resp_int]["spotifyTrack"]["trackId"] # api_response_track = self.app.api.get_spotify_tracks(track_id, market_api) # assert_that(api_response_track["external_ids"]["isrc"]).\ # is_equal_to(isrc) # assert_that(", ".join(sorted(i["name"] for i in api_response_track["artists"])))\ # .is_equal_to(", ".join(sorted(i["name"] for i in api_response_artist[track_from_resp_int]["spotifyTrack"]["artists"]))) # assert_that(api_response_track["album"]["name"])\ # .is_equal_to(api_response_artist[track_from_resp_int]["spotifyTrack"]["albumName"]) # assert_that(api_response_track["album"]["release_date"]) \ # .is_equal_to(api_response_artist[track_from_resp_int]["spotifyTrack"]["album"]["releaseDate"]) # not automated - step 6