Files
is-a-good-dev/tests/json.test.js
T
William Harrison c2380f9b24 prettier
2022-11-29 10:39:36 +08:00

32 lines
1.4 KiB
JavaScript

const core = require('@actions/core');
const getJSON = require('../utils/getJSON.js');
const checkInfo = require('../utils/checkInfo.js');
const checkRecords = require('../utils/checkRecords.js');
const data = getJSON(process.env.FILES);
if (data == false) {
core.setOutput('shouldComment', 'false')
console.log('Not a subdomain file')
process.exit(0)
}
core.setOutput('infoMessage', "Could not validate info.");
core.setOutput('recordMessage', "Could not validate records.");
core.setOutput('jsonData', data)
core.setOutput('shouldComment', 'true')
test('check if json file has required info', async () => {
const passed = await checkInfo(data);
let infoMessage = passed === true ? "Valid information provided." : passed === "unknown" ? "Error verifying email address.\nA maintainer will have to manually verify your email address.\nReason:" : "Invalid information provided.\nPlease check your provided information.\nReason:";
core.setOutput('infoMessage', infoMessage);
expect(passed).toBeTruthy();
}, 15000);
test('Check if JSON file follows format', () => {
const passed = checkRecords(data);
let recordMessage = passed === true ? "Valid records provided." : "Invalid records provided.\nPlease check your provided records.\nThey should only be of type `A`, `CNAME` or `TXT`, and should follow their respective formats.";
core.setOutput('recordMessage', recordMessage);
expect(passed).toBe(true);
});