forked from graffle-js/graffle
-
Notifications
You must be signed in to change notification settings - Fork 0
/
snapshot-resolver.js
26 lines (22 loc) · 897 Bytes
/
snapshot-resolver.js
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
const graphlExtension = '.graphql_' + (process.env.GRAPHQL_VERSION ? process.env.GRAPHQL_VERSION : '16')
const snapshotFolder = '/__snapshots__'
// resolves from test to snapshot path
const resolveSnapshotPath = (testPath, snapshotExtension) => {
const indexOfLatestSlash = testPath.lastIndexOf('/')
return (
testPath.substring(0, indexOfLatestSlash) +
snapshotFolder +
testPath.substring(indexOfLatestSlash) +
graphlExtension +
snapshotExtension
)
}
// resolves from snapshot to test path
const resolveTestPath = (snapshotFilePath, snapshotExtension) =>
snapshotFilePath.replace(snapshotFolder, '').slice(0, -snapshotExtension.length - graphlExtension.length)
module.exports = {
resolveSnapshotPath,
resolveTestPath,
// Example test path, used for preflight consistency check of the implementation above
testPathForConsistencyCheck: 'tests/gql.test.ts',
}