summaryrefslogtreecommitdiff
path: root/spec/frontend/content_editor/markdown_processing_examples.js
blob: da895970289bfc486ba248d49e68b3c87ebe047d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import fs from 'fs';
import path from 'path';
import jsYaml from 'js-yaml';
// eslint-disable-next-line import/no-deprecated
import { getJSONFixture } from 'helpers/fixtures';

export const loadMarkdownApiResult = (testName) => {
  const fixturePathPrefix = `api/markdown/${testName}.json`;

  // eslint-disable-next-line import/no-deprecated
  const fixture = getJSONFixture(fixturePathPrefix);
  return fixture.body || fixture.html;
};

export const loadMarkdownApiExamples = () => {
  const apiMarkdownYamlPath = path.join(__dirname, '..', 'fixtures', 'api_markdown.yml');
  const apiMarkdownYamlText = fs.readFileSync(apiMarkdownYamlPath);
  const apiMarkdownExampleObjects = jsYaml.safeLoad(apiMarkdownYamlText);

  return apiMarkdownExampleObjects.map(({ name, context, markdown }) => [name, context, markdown]);
};

export const loadMarkdownApiExample = (testName) => {
  return loadMarkdownApiExamples().find(([name, context]) => {
    return (context ? `${context}_${name}` : name) === testName;
  })[2];
};