E2E Test Expansion
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?
-
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
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.
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.
...known-useful episodes...
I think that LUP 434 is a great candidate and one I use when working on the episode page layout
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.
...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
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.
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.
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