. * * @link https://www.librenms.org * * @copyright 2018 Neil Lathwood * @author Neil Lathwood */ namespace LibreNMS\Tests; use Symfony\Component\Yaml\Yaml; class DocsTest extends TestCase { private $hidden_pages = [ 'General/Changelogs/2013.md', 'General/Changelogs/2014.md', 'General/Changelogs/2015.md', 'General/Changelogs/2016.md', 'General/Changelogs/2017.md', 'General/Changelogs/2018.md', 'General/Changelogs/2019.md', 'General/Changelogs/2020.md', ]; /** * @group docs */ public function testDocExist() { $mkdocs = Yaml::parse(file_get_contents(__DIR__ . '/../mkdocs.yml')); $dir = __DIR__ . '/../doc/'; $files = str_replace($dir, '', rtrim(`find $dir -name '*.md'`)); // check for missing pages collect(explode(PHP_EOL, $files)) ->diff(collect($mkdocs['nav'])->flatten()->merge($this->hidden_pages)) // grab defined pages and diff ->each(function ($missing_doc) { $this->fail("The doc $missing_doc doesn't exist in mkdocs.yml, please add it to the relevant section"); }); $this->expectNotToPerformAssertions(); } }