В данном случае я обычно использую тестовую sqlite in memory базу, в phpunit.xml добавив:
<env name="DB_CONNECTION" value="sqlite"/>
<env name="DB_DATABASE" value=":memory:"/>
После в тесте всегда сбрасывать и накатывать данные в БД при каждом запуске:
use RefreshDatabase;
Дальше используя фабрики создаем записи в тестовой БД. Как пример:
$task = factory(\App\Task::class)->create([
'archive' => false
]);
Отправляем запрос на наш URL (у Вас это будет /api/post). Опять таки для примера:
$response = $this->get('/current_tasks');
И в результате проверяем нужные данные, например, что ответ от сервера пришел со статусом 200 и что результатом должен быть ответ в формате JSON и именно те данные, которые мы ранее поместили в тестовую БД:
$response->assertStatus(200)
->assertJson([$task->toArray()]);
Здесь подробнее посмотрите про все ассерты:
https://laravel.com/docs/5.6/http-tests