get('/blog'); $response->assertViewIs('articles.index'); } #[Test] public function single_article_page_loads() { $article = Article::factory()->create(); $response = $this->get($article->link); $response->assertViewIs('articles.show'); } #[Test] public function wrong_date_in_url_redirects_to_correct_date() { $article = Article::factory()->create(); $response = $this->get('/blog/1900/01/'.$article->titleurl); $response->assertRedirect('/blog/'.date('Y').'/'.date('m').'/'.$article->titleurl); } #[Test] public function old_urls_with_id_are_redirected() { $article = Article::factory()->create(); $num60Id = resolve(Numbers::class)->numto60($article->id); $response = $this->get('/blog/s/'.$num60Id); $response->assertRedirect($article->link); } #[Test] public function unknown_slug_gets_not_found_response() { $response = $this->get('/blog/'.date('Y').'/'.date('m').'/unknown-slug'); $response->assertNotFound(); } #[Test] public function unknown_article_id_gets_not_found_response() { $response = $this->get('/blog/s/22'); $response->assertNotFound(); } #[Test] public function some_urls_do_not_parse_correctly(): void { $response = $this->get('/blog/feed.js'); $response->assertNotFound(); } }