Test your setup | laravel-markdown-response | Spatie

 SPATIE

  Laravel Markdown Response
============================

spatie.be/open-source

  [Docs](https://spatie.be/docs)  [Laravel-markdown-response](https://spatie.be/docs/laravel-markdown-response/v1)  Basic-usage  Test your setup

 Version   v1

 Other versions for crawler [v1](https://spatie.be/docs/laravel-markdown-response/v1)

- [ Introduction ](https://spatie.be/docs/laravel-markdown-response/v1/introduction)
- [ Requirements ](https://spatie.be/docs/laravel-markdown-response/v1/requirements)
- [ Install the package ](https://spatie.be/docs/laravel-markdown-response/v1/installation-setup)
- [ Questions &amp; issues ](https://spatie.be/docs/laravel-markdown-response/v1/questions-issues)
- [ Support us ](https://spatie.be/docs/laravel-markdown-response/v1/support-us)
- [ About us ](https://spatie.be/docs/laravel-markdown-response/v1/about-us)
- [ Changelog ](https://spatie.be/docs/laravel-markdown-response/v1/changelog)

Basic usage
-----------

- [ Serve markdown to AI agents ](https://spatie.be/docs/laravel-markdown-response/v1/basic-usage/serve-markdown-to-ai-agents)
- [ Cache converted responses ](https://spatie.be/docs/laravel-markdown-response/v1/basic-usage/cache-converted-responses)
- [ Choose a conversion driver ](https://spatie.be/docs/laravel-markdown-response/v1/basic-usage/choose-a-conversion-driver)
- [ Test your setup ](https://spatie.be/docs/laravel-markdown-response/v1/basic-usage/test-your-setup)

Advanced usage
--------------

- [ Clean up HTML with preprocessors ](https://spatie.be/docs/laravel-markdown-response/v1/advanced-usage/clean-up-html-with-preprocessors)
- [ Clean up markdown with postprocessors ](https://spatie.be/docs/laravel-markdown-response/v1/advanced-usage/clean-up-markdown-with-postprocessors)
- [ Customize request detection ](https://spatie.be/docs/laravel-markdown-response/v1/advanced-usage/customize-request-detection)
- [ Listen to conversion events ](https://spatie.be/docs/laravel-markdown-response/v1/advanced-usage/listen-to-conversion-events)
- [ Convert HTML directly ](https://spatie.be/docs/laravel-markdown-response/v1/advanced-usage/convert-html-directly)
- [ CDN and cache layers ](https://spatie.be/docs/laravel-markdown-response/v1/advanced-usage/cdn-and-cache-layers)
- [ Response headers ](https://spatie.be/docs/laravel-markdown-response/v1/advanced-usage/response-headers)

 Test your setup
===============

###  On this page

1. [ Assert conversions happened ](#content-assert-conversions-happened)
2. [ Assert no conversions happened ](#content-assert-no-conversions-happened)
3. [ Assert conversion count ](#content-assert-conversion-count)

To verify your markdown conversion works correctly in tests, you can fake the `Markdown` facade. This prevents actual HTML-to-markdown conversion and lets you make assertions about what was converted.

```
use Spatie\MarkdownResponse\Facades\Markdown;

beforeEach(function () {
    Markdown::fake();
});
```

Assert conversions happened
-----------------------------------------------------------------------------------------------------------------------------------------

Use `assertConverted` to verify that at least one conversion took place:

```
Markdown::fake();

$this->get('/about.md')->assertOk();

Markdown::assertConverted();
```

You can pass a callable for more specific assertions. The callable receives the HTML string:

```
Markdown::assertConverted(fn (string $html) => str_contains($html, 'About'));
```

Assert no conversions happened
--------------------------------------------------------------------------------------------------------------------------------------------------

Use `assertNotConverted` to verify that no conversions were made:

```
Markdown::fake();

$this->get('/about')->assertOk();

Markdown::assertNotConverted();
```

Assert conversion count
-----------------------------------------------------------------------------------------------------------------------------

Use `assertConvertedCount` to verify the exact number of conversions:

```
Markdown::fake();

$this->get('/about.md');
$this->get('/posts/1.md');
$this->get('/posts/2.md');

Markdown::assertConvertedCount(3);
```
