jupiterbroadcasting.com icon indicating copy to clipboard operation
jupiterbroadcasting.com copied to clipboard

E2E Test Expansion

Open CGBassPlayer opened this issue 3 years ago • 9 comments

Adds more page tests to website

  • 404 Page
    • [x] Check for unicorn image
    • [x] Check for "Page Not Found" text
  • Episode Page ~(1 episode each since this is templated?)~ (5 newest, 5 oldest, and any other predefined episodes we want to test)
    • [x] Tab title contains show name, episode number, and JB
    • [ ] Podverse Player
    • [ ] Support and Subscribe Buttons
    • [ ] Show Image
    • [ ] Hosts / Guests
    • [ ] Sponsors
    • [ ] Links
    • [ ] Tags
  • Show Page ~(Should we iterate over all shows or just pick 1 since it is templated?)~ (All Shows)
    • [ ] pagination (similar to home page test)
    • [ ] Icons
    • [ ] Hosts
  • Calendar
    • [x] ~Screenshot~ Moved to playwright handling automatically
    • [ ] Check dropdown
  • Membership
    • [ ] Show membership links are present?
  • People (Hosts and Guests)
    • [ ] Guest Pagination
    • [ ] All Hosts are present
  • Live
    • [ ] Embedded player
    • [x] Way to mock JB being live to check live light?

CGBassPlayer avatar Oct 26 '22 22:10 CGBassPlayer

  • Should we iterate over all shows or just pick 1 since it is templated?

Feels asthough we don't need to iterate over EVERY episode, but only 1 seems almost too restrictive and could make dangerous assumptions (i.e. if $latest_episode is OK, they're all OK!). Suggestion: testing the latest 5 episodes and the oldest 5 episodes?

  • Way to mock JB being live to check live light?

Maybe this is a helpful starting point? https://github.com/JupiterBroadcasting/jupiterbroadcasting.com/pull/378#issuecomment-1236009165

gerbrent avatar Oct 28 '22 14:10 gerbrent

Suggestion: testing the latest 5 episodes and the oldest 5 episodes?

Do you think 5 newest across all shows or per show?

Also I would advocate for the possibility of picking a specific set of episodes that we should test because not all episodes have guests and I want make sure the Guests section of the episode page is check every time when E2E is run.

CGBassPlayer avatar Oct 28 '22 14:10 CGBassPlayer

great points @CGBassPlayer !

  • 5 newest and 5 oldest of every show (since some shows are unique in their strangeness.. who knows what we'll find!)
  • in addition, we could/should also pick some known-useful episodes, as you mentioned. great idea.

gerbrent avatar Oct 28 '22 14:10 gerbrent

...known-useful episodes...

I think that LUP 434 is a great candidate and one I use when working on the episode page layout

CGBassPlayer avatar Oct 28 '22 23:10 CGBassPlayer

Also, I've listed out a bunch of other things/info here: https://github.com/JupiterBroadcasting/jupiterbroadcasting.com/issues/286#issuecomment-1260004920

You've got most of it with your initial comment for this PR, but just figured I'd toss it in to help with some of the things like mocking the request.

elreydetoda avatar Nov 03 '22 17:11 elreydetoda

...known-useful episodes...

I think that LUP 434 is a great candidate and one I use when working on the episode page layout

Also, here are some episodes that were particularly tricky from the scrapers perspective. We might want to include those as well:

https://github.com/JupiterBroadcasting/show-scraper/blob/48f0833e63a8473eb8afa6d2297942aeb487b139/scraper.py#L524-L537

elreydetoda avatar Nov 03 '22 17:11 elreydetoda

So I managed to find a way to build the urls for the episodes we want. I grabs the 5 oldest, and 5 newest episodes per show as well as a whatever we populate in a dictionary in the file. I will look through to see what other edge cases in the issues @elreydetoda pointed out. But the part I think would be the hardest is over. Testing time locally took like 7 minutes through the first run, looking at GH Actions it seems to have taken only 30 seconds.

CGBassPlayer avatar Nov 05 '22 01:11 CGBassPlayer

BTW @CGBassPlayer, once this stuff gets merged: https://github.com/ChanceM/jupiterbroadcasting.com/pull/1

We'll have the live page indicator + mocking (mainly just intercepting the live request and responding with an event and not actual mocking) taken care of.

elreydetoda avatar Jan 02 '23 04:01 elreydetoda

Not sure why they PR closed when I pulled the latest changes in... My best guess would be because I rebased my changes on top and so the commit history for my branch has changed? No totally sure. But seems like it good again

CGBassPlayer avatar Mar 01 '23 01:03 CGBassPlayer