mirror of
https://github.com/Qortal/chrome-extension.git
synced 2025-03-28 08:15:55 +00:00
setup vite testing and able to run test
This commit is contained in:
parent
5e9b8ac84e
commit
452416ae18
983
package-lock.json
generated
983
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -15,6 +15,7 @@
|
|||||||
"@emotion/react": "^11.11.4",
|
"@emotion/react": "^11.11.4",
|
||||||
"@emotion/styled": "^11.11.0",
|
"@emotion/styled": "^11.11.0",
|
||||||
"@mui/material": "^5.15.14",
|
"@mui/material": "^5.15.14",
|
||||||
|
"@testing-library/jest-dom": "^6.4.6",
|
||||||
"@types/chrome": "^0.0.263",
|
"@types/chrome": "^0.0.263",
|
||||||
"asmcrypto.js": "2.3.2",
|
"asmcrypto.js": "2.3.2",
|
||||||
"bcryptjs": "2.4.3",
|
"bcryptjs": "2.4.3",
|
||||||
@ -27,6 +28,8 @@
|
|||||||
"react-dropzone": "^14.2.3"
|
"react-dropzone": "^14.2.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@testing-library/dom": "^10.3.0",
|
||||||
|
"@testing-library/react": "^16.0.0",
|
||||||
"@types/react": "^18.2.64",
|
"@types/react": "^18.2.64",
|
||||||
"@types/react-copy-to-clipboard": "^5.0.7",
|
"@types/react-copy-to-clipboard": "^5.0.7",
|
||||||
"@types/react-dom": "^18.2.21",
|
"@types/react-dom": "^18.2.21",
|
||||||
@ -36,6 +39,7 @@
|
|||||||
"eslint": "^8.57.0",
|
"eslint": "^8.57.0",
|
||||||
"eslint-plugin-react-hooks": "^4.6.0",
|
"eslint-plugin-react-hooks": "^4.6.0",
|
||||||
"eslint-plugin-react-refresh": "^0.4.5",
|
"eslint-plugin-react-refresh": "^0.4.5",
|
||||||
|
"jsdom": "^24.1.0",
|
||||||
"typescript": "^5.2.2",
|
"typescript": "^5.2.2",
|
||||||
"vite": "^5.1.6",
|
"vite": "^5.1.6",
|
||||||
"vitest": "^1.6.0"
|
"vitest": "^1.6.0"
|
||||||
|
15
src/components/PasswordField/PasswordField.spec.tsx
Normal file
15
src/components/PasswordField/PasswordField.spec.tsx
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import {
|
||||||
|
describe,
|
||||||
|
expect,
|
||||||
|
test
|
||||||
|
} from 'vitest';
|
||||||
|
import {render, screen} from '@testing-library/react'
|
||||||
|
import {
|
||||||
|
PasswordField
|
||||||
|
} from './PasswordField'
|
||||||
|
describe('PasswordField', () => {
|
||||||
|
test('it renders', () => {
|
||||||
|
render(<PasswordField />)
|
||||||
|
expect('').toBeFalsy()
|
||||||
|
})
|
||||||
|
})
|
@ -2,7 +2,8 @@ import { InputAdornment, TextField, TextFieldProps, styled } from "@mui/material
|
|||||||
import { useState } from 'react'
|
import { useState } from 'react'
|
||||||
|
|
||||||
export const CustomInput = styled(TextField)({
|
export const CustomInput = styled(TextField)({
|
||||||
width: "183px", // Adjust the width as needed
|
width: "100%", // Adjust the width as needed
|
||||||
|
maxWidth: "183px",
|
||||||
borderRadius: "5px",
|
borderRadius: "5px",
|
||||||
// backgroundColor: "rgba(30, 30, 32, 1)",
|
// backgroundColor: "rgba(30, 30, 32, 1)",
|
||||||
outline: "none",
|
outline: "none",
|
||||||
@ -44,12 +45,8 @@ export const CustomInput = styled(TextField)({
|
|||||||
export const PasswordField: React.FunctionComponent<TextFieldProps> = ({ ...props }) => {
|
export const PasswordField: React.FunctionComponent<TextFieldProps> = ({ ...props }) => {
|
||||||
const [canViewPassword, setCanViewPassword] = useState(false);
|
const [canViewPassword, setCanViewPassword] = useState(false);
|
||||||
return (
|
return (
|
||||||
<div style={{
|
|
||||||
position: 'relative'
|
|
||||||
}}>
|
|
||||||
<CustomInput
|
<CustomInput
|
||||||
type={canViewPassword ? 'text' : 'password'}
|
type={canViewPassword ? 'text' : 'password'}
|
||||||
id="standard-adornment-password"
|
|
||||||
InputProps={{
|
InputProps={{
|
||||||
endAdornment: (
|
endAdornment: (
|
||||||
<InputAdornment position="end" style={{
|
<InputAdornment position="end" style={{
|
||||||
@ -57,13 +54,11 @@ export const PasswordField: React.FunctionComponent<TextFieldProps> = ({ ...prop
|
|||||||
}} onClick={() => {
|
}} onClick={() => {
|
||||||
setCanViewPassword((prevState) => !prevState)
|
setCanViewPassword((prevState) => !prevState)
|
||||||
}}>
|
}}>
|
||||||
{canViewPassword ? '🙀' : '😸'}
|
{canViewPassword ? <span data-testid="eyes-opened">🙀</span> : <span data-testid="eyes-closed">😸</span>}
|
||||||
</InputAdornment>
|
</InputAdornment>
|
||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
{...props}
|
{...props}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
</div>
|
|
||||||
)
|
)
|
||||||
}
|
}
|
1
src/test/setup.ts
Normal file
1
src/test/setup.ts
Normal file
@ -0,0 +1 @@
|
|||||||
|
import '@testing-library/jest-dom'
|
@ -1,9 +1,15 @@
|
|||||||
|
/// <reference types="vitest" />
|
||||||
import { defineConfig } from 'vite';
|
import { defineConfig } from 'vite';
|
||||||
import react from '@vitejs/plugin-react';
|
import react from '@vitejs/plugin-react';
|
||||||
// Import path module for resolving file paths
|
// Import path module for resolving file paths
|
||||||
import { resolve } from 'path';
|
import { resolve } from 'path';
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
|
test: {
|
||||||
|
environment: 'jsdom',
|
||||||
|
globals: true,
|
||||||
|
setupFiles: ['./src/test/setup.ts']
|
||||||
|
},
|
||||||
plugins: [react()],
|
plugins: [react()],
|
||||||
build: {
|
build: {
|
||||||
rollupOptions: {
|
rollupOptions: {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user