dolphin-components
Version:
This project is licensed under the Apache 2.0 License. See the [LICENSE](https://opensource.org/license/apache-2-0) file for more details.
70 lines (65 loc) • 1.6 kB
JavaScript
"use strict";
const { RuleTester } = require("eslint");
const rule = require("./eslint-pinia.cjs");
const ruleTester = new RuleTester({
languageOptions: {
ecmaVersion: 2020,
sourceType: "module",
},
});
ruleTester.run("no-duplicate-pinia-store-ids", rule, {
valid: [
{
code: `
import { defineStore } from 'pinia'
defineStore('user')
`,
filename: "stores/user.js",
},
{
code: `
import { defineStore } from 'pinia'
defineStore('profile')
`,
filename: "stores/profile.js",
},
{
code: `
import { defineStore } from 'pinia'
defineStore({
id: 'settings',
state: () => ({})
})
`,
filename: "stores/settings.js",
},
],
invalid: [
{
code: `
import { defineStore } from 'pinia'
defineStore('user')
`,
filename: "stores/user-duplicate.js",
errors: [
{
message: "Pinia store id 'user' is already defined in stores/user.js.",
},
],
},
{
code: `
import { defineStore } from 'pinia'
defineStore({
id: 'settings'
})
`,
filename: "stores/settings-duplicate.js",
errors: [
{
message: "Pinia store id 'settings' is already defined in stores/settings.js.",
},
],
},
],
});