get('/{locale}/contact', fn () => 'contact'); config()->set(SitemapConfig::CONFIG_KEY . '.single_pages', ['contact']); // WHEN /** @var \Illuminate\Testing\PendingCommand $command */ $command = $this->artisan('uwil:sitemap:refresh --dry-run'); // THEN $command ->expectsOutput('Generating Sitemap..') ->assertSuccessful() ->run(); expect(File::exists($this->testXmlPath))->toBeFalse(); }); it('generates the sitemap xml file and serves it via the GET route', function () { /** @var \Uwil\SitemapGenerator\Tests\TestCase $this */ // GIVEN $url = 'sitemap.xml'; Route::name('contact')->get('/{locale}/contact', fn () => 'contact'); config()->set(SitemapConfig::CONFIG_KEY . '.single_pages', ['contact']); // WHEN /** @var \Illuminate\Testing\PendingCommand $command */ $command = $this->artisan('uwil:sitemap:refresh'); // THEN $command ->expectsOutput('Generating Sitemap..') ->expectsOutput('A new sitemap.xml was generated') ->assertSuccessful() ->run(); expect(File::exists($this->testXmlPath))->toBeTrue(); $content = File::get($this->testXmlPath); expect($content) ->toContain('toContain('/fr/contact') ->toContain('/en/contact'); $this->get($url) ->assertOk() ->assertSee('/fr/contact'); }); it('returns 404 when the sitemap has not been generated yet', function () { /** @var \Uwil\SitemapGenerator\Tests\TestCase $this */ // GIVEN $url = 'sitemap.xml'; // WHEN $result = $this->get($url); // THEN $result->assertNotFound(); }); });