@reportportal/agent-js-cucumber
Version:
Agent that connects cucumber-js with Report Portal
293 lines (260 loc) • 5.42 kB
JavaScript
/*
* Copyright 2020 EPAM Systems
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
const LoggerWorld = require('./loggerWorld');
const { RP_EVENTS, STATUSES } = require('../constants');
class ReportPortalCucumberWorld extends LoggerWorld {
setTestCaseId(testCaseId) {
this.attach(
JSON.stringify({
testCaseId,
}),
RP_EVENTS.STEP_TEST_CASE_ID,
);
}
addAttributes(attributes) {
this.attach(
JSON.stringify({
attributes,
}),
RP_EVENTS.STEP_ATTRIBUTES,
);
}
addDescription(description) {
this.attach(
JSON.stringify({
description,
}),
RP_EVENTS.STEP_DESCRIPTION,
);
}
setStatusPassed() {
this.attach(
JSON.stringify({
status: STATUSES.PASSED,
}),
RP_EVENTS.STEP_STATUS,
);
}
setStatusFailed() {
this.attach(
JSON.stringify({
status: STATUSES.FAILED,
}),
RP_EVENTS.STEP_STATUS,
);
}
setStatusSkipped() {
this.attach(
JSON.stringify({
status: STATUSES.SKIPPED,
}),
RP_EVENTS.STEP_STATUS,
);
}
setStatusStopped() {
this.attach(
JSON.stringify({
status: STATUSES.STOPPED,
}),
RP_EVENTS.STEP_STATUS,
);
}
setStatusInterrupted() {
this.attach(
JSON.stringify({
status: STATUSES.INTERRUPTED,
}),
RP_EVENTS.STEP_STATUS,
);
}
setStatusCancelled() {
this.attach(
JSON.stringify({
status: STATUSES.CANCELLED,
}),
RP_EVENTS.STEP_STATUS,
);
}
setStatusInfo() {
this.attach(
JSON.stringify({
status: STATUSES.INFO,
}),
RP_EVENTS.STEP_STATUS,
);
}
setStatusWarn() {
this.attach(
JSON.stringify({
status: STATUSES.WARN,
}),
RP_EVENTS.STEP_STATUS,
);
}
setLaunchStatusPassed() {
this.attach(
JSON.stringify({
status: STATUSES.PASSED,
}),
RP_EVENTS.LAUNCH_STATUS,
);
}
setLaunchStatusFailed() {
this.attach(
JSON.stringify({
status: STATUSES.FAILED,
}),
RP_EVENTS.LAUNCH_STATUS,
);
}
setLaunchStatusSkipped() {
this.attach(
JSON.stringify({
status: STATUSES.SKIPPED,
}),
RP_EVENTS.LAUNCH_STATUS,
);
}
setLaunchStatusStopped() {
this.attach(
JSON.stringify({
status: STATUSES.STOPPED,
}),
RP_EVENTS.LAUNCH_STATUS,
);
}
setLaunchStatusInterrupted() {
this.attach(
JSON.stringify({
status: STATUSES.INTERRUPTED,
}),
RP_EVENTS.LAUNCH_STATUS,
);
}
setLaunchStatusCancelled() {
this.attach(
JSON.stringify({
status: STATUSES.CANCELLED,
}),
RP_EVENTS.LAUNCH_STATUS,
);
}
setLaunchStatusInfo() {
this.attach(
JSON.stringify({
status: STATUSES.INFO,
}),
RP_EVENTS.LAUNCH_STATUS,
);
}
setLaunchStatusWarn() {
this.attach(
JSON.stringify({
status: STATUSES.WARN,
}),
RP_EVENTS.LAUNCH_STATUS,
);
}
setScenarioTestCaseId(testCaseId) {
this.attach(
JSON.stringify({
testCaseId,
}),
RP_EVENTS.SCENARIO_TEST_CASE_ID,
);
}
addScenarioAttributes(attributes) {
this.attach(
JSON.stringify({
attributes,
}),
RP_EVENTS.SCENARIO_ATTRIBUTES,
);
}
addScenarioDescription(description) {
this.attach(
JSON.stringify({
description,
}),
RP_EVENTS.SCENARIO_DESCRIPTION,
);
}
setScenarioStatusPassed() {
this.attach(
JSON.stringify({
status: STATUSES.PASSED,
}),
RP_EVENTS.SCENARIO_STATUS,
);
}
setScenarioStatusFailed() {
this.attach(
JSON.stringify({
status: STATUSES.FAILED,
}),
RP_EVENTS.SCENARIO_STATUS,
);
}
setScenarioStatusSkipped() {
this.attach(
JSON.stringify({
status: STATUSES.SKIPPED,
}),
RP_EVENTS.SCENARIO_STATUS,
);
}
setScenarioStatusStopped() {
this.attach(
JSON.stringify({
status: STATUSES.STOPPED,
}),
RP_EVENTS.SCENARIO_STATUS,
);
}
setScenarioStatusInterrupted() {
this.attach(
JSON.stringify({
status: STATUSES.INTERRUPTED,
}),
RP_EVENTS.SCENARIO_STATUS,
);
}
setScenarioStatusCancelled() {
this.attach(
JSON.stringify({
status: STATUSES.CANCELLED,
}),
RP_EVENTS.SCENARIO_STATUS,
);
}
setScenarioStatusInfo() {
this.attach(
JSON.stringify({
status: STATUSES.INFO,
}),
RP_EVENTS.SCENARIO_STATUS,
);
}
setScenarioStatusWarn() {
this.attach(
JSON.stringify({
status: STATUSES.WARN,
}),
RP_EVENTS.SCENARIO_STATUS,
);
}
}
module.exports = ReportPortalCucumberWorld;