1. eslint-plugin-test-id
This checks is data-test-id prop is present, on some tags which are useful for e2e testing
eslint-plugin-test-id
Package: eslint-plugin-test-id
Created by: prashantswami
Last modified: Sat, 24 Feb 2024 11:36:40 GMT
Version: 2.3.0
License: ISC
Downloads: 6,250
Repository: https://github.com/prashantswami/eslint-plugin-test-id

Install

npm install eslint-plugin-test-id
yarn add eslint-plugin-test-id

npm version
status
CodeQL

eslint-plugin-test-id

This checks is data-test-id prop is present, on some tags which are useful for e2e testing

Installation

You'll first need to install ESLint:

$ npm i eslint --save-dev

Next, install eslint-plugin-test-id:

$ npm install eslint-plugin-test-id --save-dev

Usage

Add test-id to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix:

 {
    "plugins": [
        "test-id"
    ]
}

Then configure the rules you want to use under the rules section.

 {
    "rules": {
        "test-id/data-test-id": 'error'
    }
}

You can also enable all the recommended rules at once:

 {
  "extends": [
    "plugin:test-id/recommended"
  ]
}

Rule Details

This rule aims to...

Examples of incorrect code for this rule:


<input v-model="someModel">

Examples of correct code for this rule:


<input data-test-id="someUniqueString" v-model="someModel">

How Fix will work

Scenario 1

<template><custom v-model="test" /></template>

will fix to

<template><input data-test-id="test" v-model="test"></template>

Scenario 2

<template><input v-model="test.again.src"></template>

will fix to

<template><custom data-test-id="test.again.src" v-model="test.again.src" /></template>

Scenario 3

<template><custom v-model="test.again" /></template>

will fix to

<template><custom data-test-id="test.again" v-model="test.again" /></template>

Scenario 4

<template><custom v-model="test['again']" /></template>

will fix to

<template><custom data-test-id="test.again" v-model="test['again']" /></template>

Scenario 5

<template><custom v-model="test[5]" /></template>

will fix to

<template><custom data-test-id="test.5" v-model="test[5]" /></template>

Scenario 5

<template><custom v-model="test[5]['val']" /></template>

will fix to

<template><custom data-test-id="test.5.val" v-model="test[5]['val']" /></template>

RELATED POST

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin