diff options
author | Winnie Hellmann <winnie@gitlab.com> | 2019-03-11 14:47:36 +0100 |
---|---|---|
committer | Winnie Hellmann <winnie@gitlab.com> | 2019-03-11 14:55:18 +0100 |
commit | af3307f7b4fdf2a02f94e246f84e336c7b89f3a0 (patch) | |
tree | 2cd89b385b685aef3d9f06f77a2231c34ba55774 /spec/frontend/helpers/fixtures.js | |
parent | aeffdd2acd4e8083c2b65e8908969c4ed03541df (diff) | |
download | gitlab-ce-af3307f7b4fdf2a02f94e246f84e336c7b89f3a0.tar.gz |
Add getJSONFixture() helper to Jest
Diffstat (limited to 'spec/frontend/helpers/fixtures.js')
-rw-r--r-- | spec/frontend/helpers/fixtures.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/frontend/helpers/fixtures.js b/spec/frontend/helpers/fixtures.js new file mode 100644 index 00000000000..f96f27c4d80 --- /dev/null +++ b/spec/frontend/helpers/fixtures.js @@ -0,0 +1,24 @@ +/* eslint-disable import/prefer-default-export, global-require, import/no-dynamic-require */ + +import fs from 'fs'; +import path from 'path'; + +// jest-util is part of Jest +// eslint-disable-next-line import/no-extraneous-dependencies +import { ErrorWithStack } from 'jest-util'; + +const fixturesBasePath = path.join(process.cwd(), 'spec', 'javascripts', 'fixtures'); + +export function getJSONFixture(relativePath, ee = false) { + const absolutePath = path.join(fixturesBasePath, ee ? 'ee' : '', relativePath); + if (!fs.existsSync(absolutePath)) { + throw new ErrorWithStack( + `Fixture file ${relativePath} does not exist. + +Did you run bin/rake karma:fixtures?`, + getJSONFixture, + ); + } + + return require(absolutePath); +} |