cypress-testrail-paper
Version:
Easy and decoupled Cypress TestRail reporter
409 lines (329 loc) • 10.8 kB
JavaScript
import ConfigService from '../../../src/services/ConfigService';
describe('TestRail Domain', () => {
describe('.env file', () => {
test('TestRailDomain from .env file', () => {
const config = new ConfigService({
'testrail': {
'domain': 'my-domain',
}
});
expect(config.getDomain()).toBe('my-domain');
});
});
describe('ENV variable', () => {
test('TestRailDomain from ENV', () => {
const config = new ConfigService({
'TESTRAIL_DOMAIN': 'my-domain',
});
expect(config.getDomain()).toBe('my-domain');
});
});
});
describe('TestRail Username', () => {
describe('.env file', () => {
test('TestRailUsername from .env file', () => {
const config = new ConfigService({
'testrail': {
'username': 'user123',
}
});
expect(config.getUsername()).toBe('user123');
});
});
describe('ENV variable', () => {
test('TestRailUsername from ENV', () => {
const config = new ConfigService({
'TESTRAIL_USERNAME': 'user123',
});
expect(config.getUsername()).toBe('user123');
});
});
});
describe('TestRail Password', () => {
describe('.env file', () => {
test('TestRailPassword from .env file', () => {
const config = new ConfigService({
'testrail': {
'password': 'P123',
}
});
expect(config.getPassword()).toBe('P123');
});
});
describe('ENV variable', () => {
test('TestRailPassword from ENV', () => {
const config = new ConfigService({
'TESTRAIL_PASSWORD': 'P123',
});
expect(config.getPassword()).toBe('P123');
});
});
});
describe('ProjectID', () => {
describe('.env file', () => {
test('ProjectID from .env file', () => {
const config = new ConfigService({
'testrail': {
'projectId': '123',
}
});
expect(config.getProjectId()).toBe('123');
});
test('ProjectID from .env file with leading P', () => {
const config = new ConfigService({
'testrail': {
'projectId': 'P123',
}
});
expect(config.getProjectId()).toBe('123');
});
test('ProjectID from .env file with whitespaces', () => {
const config = new ConfigService({
'testrail': {
'projectId': ' 123 ',
}
});
expect(config.getProjectId()).toBe('123');
});
test('ProjectID from .env as INT', () => {
const config = new ConfigService({
'testrail': {
'projectId': 123,
}
});
expect(config.getProjectId()).toBe('123');
});
});
describe('ENV variable', () => {
test('ProjectID from ENV variable as INT', () => {
const config = new ConfigService({
'TESTRAIL_PROJECT_ID': 45,
});
expect(config.getProjectId()).toBe('45');
});
});
});
describe('MilestoneID', () => {
describe('.env file', () => {
test('MilestoneID from .env', () => {
const config = new ConfigService({
'testrail': {
'milestoneId': '123',
}
});
expect(config.getMilestoneId()).toBe('123');
});
test('MilestoneID from .env with leading M', () => {
const config = new ConfigService({
'testrail': {
'milestoneId': 'M123',
}
});
expect(config.getMilestoneId()).toBe('123');
});
test('MilestoneID from .env with whitespaces', () => {
const config = new ConfigService({
'testrail': {
'milestoneId': ' 123 ',
}
});
expect(config.getMilestoneId()).toBe('123');
});
test('MilestoneID from .env as INT', () => {
const config = new ConfigService({
'testrail': {
'milestoneId': 123,
}
});
expect(config.getMilestoneId()).toBe('123');
});
});
describe('ENV variable', () => {
test('MilestoneID from ENV variable as INT', () => {
const config = new ConfigService({
'TESTRAIL_MILESTONE_ID': 45,
});
expect(config.getMilestoneId()).toBe('45');
});
});
});
describe('SuiteID', () => {
describe('.env file', () => {
test('SuiteID from .env', () => {
const config = new ConfigService({
'testrail': {
'suiteId': '123',
}
});
expect(config.getSuiteId()).toBe('123');
});
test('SuiteID from .env with leading S', () => {
const config = new ConfigService({
'testrail': {
'suiteId': 'S123',
}
});
expect(config.getSuiteId()).toBe('123');
});
test('SuiteID from .env with whitespaces', () => {
const config = new ConfigService({
'testrail': {
'suiteId': ' 123 ',
}
});
expect(config.getSuiteId()).toBe('123');
});
test('SuiteID from .env as INT', () => {
const config = new ConfigService({
'testrail': {
'suiteId': 123,
}
});
expect(config.getSuiteId()).toBe('123');
});
});
describe('ENV variable', () => {
test('SuiteID from ENV variable as INT', () => {
const config = new ConfigService({
'TESTRAIL_SUITE_ID': 45,
});
expect(config.getSuiteId()).toBe('45');
});
});
});
describe('RunID', () => {
describe('.env file', () => {
test('RunID from .env file', () => {
const config = new ConfigService({
'testrail': {
'runId': '123',
}
});
expect(config.getRunId()).toBe('123');
});
test('RunID from .env file with leading R', () => {
const config = new ConfigService({
'testrail': {
'runId': 'R123',
}
});
expect(config.getRunId()).toBe('123');
});
test('RunID from .env file with whitespaces', () => {
const config = new ConfigService({
'testrail': {
'runId': ' 123 ',
}
});
expect(config.getRunId()).toBe('123');
});
test('RunID from .env as INT', () => {
const config = new ConfigService({
'testrail': {
'runId': 123,
}
});
expect(config.getRunId()).toBe('123');
});
});
describe('ENV variable', () => {
test('RunID from ENV variable as INT', () => {
const config = new ConfigService({
'TESTRAIL_RUN_ID': 455,
});
expect(config.getRunId()).toBe('455');
});
});
});
describe('RunName', () => {
describe('.env file', () => {
test('RunName from .env file', () => {
const config = new ConfigService({
'testrail': {
'runName': 'P123',
}
});
expect(config.getRunName()).toBe('P123');
});
});
describe('ENV variable', () => {
test('RunName from ENV', () => {
const config = new ConfigService({
'TESTRAIL_RUN_NAME': 'P123',
});
expect(config.getRunName()).toBe('P123');
});
});
});
describe('CloseRun', () => {
describe('.env file', () => {
test('CloseRun from .env file', () => {
const config = new ConfigService({
'testrail': {
'closeRun': true,
}
});
expect(config.shouldCloseRun()).toBe(true);
});
});
describe('ENV variable', () => {
test('CloseRun from ENV', () => {
const config = new ConfigService({
'TESTRAIL_RUN_CLOSE': true,
});
expect(config.shouldCloseRun()).toBe(true);
});
});
test('closeRun default is FALSE', () => {
const config = new ConfigService({});
expect(config.shouldCloseRun()).toBe(false);
});
});
describe('Screenshots', () => {
describe('.env file', () => {
test('Screenshots from .env ON', () => {
const config = new ConfigService({
'testrail': {
'screenshots': true,
},
});
expect(config.isScreenshotsEnabled()).toBe(true);
});
test('Screenshots from .env OFF', () => {
const config = new ConfigService({
'testrail': {
'screenshots': false,
},
});
expect(config.isScreenshotsEnabled()).toBe(false);
});
test('Screenshots from .env default is OFF', () => {
const config = new ConfigService({
'testrail': {},
});
expect(config.isScreenshotsEnabled()).toBe(false);
});
});
describe('ENV variable', () => {
test('Screenshots from ENV variable', () => {
const config = new ConfigService({
'TESTRAIL_SCREENSHOTS': true,
});
expect(config.isScreenshotsEnabled()).toBe(true);
});
});
});
describe('Invalid Configurations', () => {
test('undefined config returns default values', () => {
const config = new ConfigService(undefined);
expect(config.getRunId()).toBe('');
});
test('null config returns default values', () => {
const config = new ConfigService(null);
expect(config.getRunId()).toBe('');
});
test('empty config returns default values', () => {
const config = new ConfigService({});
expect(config.getRunId()).toBe('');
});
});