diff --git a/main_test.go b/main_test.go index 189be7d..d0817d4 100644 --- a/main_test.go +++ b/main_test.go @@ -53,7 +53,13 @@ func getBaseURL() string { return "https://pixivfe.exozy.me" } -func TestGetHomepage(t *testing.T) { +func checkIfPageHasError(page playwright.Page) bool { + hasErr, _ := page.Locator(".error").IsVisible() + + return hasErr +} + +func TestBasicGetHomepage(t *testing.T) { page, err := browser.NewPage() if err != nil { t.Errorf("could not create page: %v", err) @@ -69,5 +75,46 @@ func TestGetHomepage(t *testing.T) { if len(artworks) != 50 { t.Errorf("number of daily ranking artworks is %d. expected: 50", len(artworks)) } - +} + +func TestBasicAllRoutes(t *testing.T) { + page, err := browser.NewPage() + if err != nil { + t.Errorf("could not create page: %v", err) + } + + testPositiveURLs := []string{ + // Discovery pages + "/discovery", + "/discovery?mode=r18", + "/discovery/novel", + "/discovery/novel?mode=r18", + + // Ranking pages + "/ranking", + "/ranking?content=all&date=20230212&page=1&mode=male", + "/ranking?content=mangas&date=20221022&page=3&mode=weekly_r18", + "/ranking?content=ugoira&date=&page=1&mode=daily_r18", + "/rankingCalendar?mode=daily_r18&date=2018-08-01", + + // Artwork page + "/artworks/121247335", + "/artworks/120131626", // NSFW + "/artworks-multi/121289276,121247331,121200724", + + // Users page + "/users/810305", + "/users/810305/novels", + "/users/810305/bookmarks", + } + + for _, url := range testPositiveURLs { + if _, err = page.Goto(getBaseURL() + url); err != nil { + t.Errorf("could not goto: %v", err) + } + + if checkIfPageHasError(page) { + log.Fatalf("Path's response NOT OK: %s", url) + } + } }