refactor: update TypeScript configuration and test utilities for improved type safety

- Modify tsconfig.json to relax strict type checking for gradual migration
- Update test files to use more flexible type checking and mocking
- Add type-safe mock and test utility functions
- Improve error handling and type inference in test suites
- Export Tool interface and tools list for better testing support
This commit is contained in:
jango-blockchained
2025-02-05 09:16:21 +01:00
parent eefbf790c3
commit 4e9ebbbc2c
21 changed files with 526 additions and 532 deletions

View File

@@ -17,7 +17,7 @@ import {
describe('Device Schemas', () => {
describe('Media Player Schema', () => {
it('should validate a valid media player entity', () => {
test('should validate a valid media player entity', () => {
const mediaPlayer = {
entity_id: 'media_player.living_room',
state: 'playing',
@@ -35,7 +35,7 @@ describe('Device Schemas', () => {
expect(() => MediaPlayerSchema.parse(mediaPlayer)).not.toThrow();
});
it('should validate media player list response', () => {
test('should validate media player list response', () => {
const response = {
media_players: [{
entity_id: 'media_player.living_room',
@@ -48,7 +48,7 @@ describe('Device Schemas', () => {
});
describe('Fan Schema', () => {
it('should validate a valid fan entity', () => {
test('should validate a valid fan entity', () => {
const fan = {
entity_id: 'fan.bedroom',
state: 'on',
@@ -64,7 +64,7 @@ describe('Device Schemas', () => {
expect(() => FanSchema.parse(fan)).not.toThrow();
});
it('should validate fan list response', () => {
test('should validate fan list response', () => {
const response = {
fans: [{
entity_id: 'fan.bedroom',
@@ -77,7 +77,7 @@ describe('Device Schemas', () => {
});
describe('Lock Schema', () => {
it('should validate a valid lock entity', () => {
test('should validate a valid lock entity', () => {
const lock = {
entity_id: 'lock.front_door',
state: 'locked',
@@ -91,7 +91,7 @@ describe('Device Schemas', () => {
expect(() => LockSchema.parse(lock)).not.toThrow();
});
it('should validate lock list response', () => {
test('should validate lock list response', () => {
const response = {
locks: [{
entity_id: 'lock.front_door',
@@ -104,7 +104,7 @@ describe('Device Schemas', () => {
});
describe('Vacuum Schema', () => {
it('should validate a valid vacuum entity', () => {
test('should validate a valid vacuum entity', () => {
const vacuum = {
entity_id: 'vacuum.robot',
state: 'cleaning',
@@ -119,7 +119,7 @@ describe('Device Schemas', () => {
expect(() => VacuumSchema.parse(vacuum)).not.toThrow();
});
it('should validate vacuum list response', () => {
test('should validate vacuum list response', () => {
const response = {
vacuums: [{
entity_id: 'vacuum.robot',
@@ -132,7 +132,7 @@ describe('Device Schemas', () => {
});
describe('Scene Schema', () => {
it('should validate a valid scene entity', () => {
test('should validate a valid scene entity', () => {
const scene = {
entity_id: 'scene.movie_night',
state: 'on',
@@ -144,7 +144,7 @@ describe('Device Schemas', () => {
expect(() => SceneSchema.parse(scene)).not.toThrow();
});
it('should validate scene list response', () => {
test('should validate scene list response', () => {
const response = {
scenes: [{
entity_id: 'scene.movie_night',
@@ -157,7 +157,7 @@ describe('Device Schemas', () => {
});
describe('Script Schema', () => {
it('should validate a valid script entity', () => {
test('should validate a valid script entity', () => {
const script = {
entity_id: 'script.welcome_home',
state: 'on',
@@ -174,7 +174,7 @@ describe('Device Schemas', () => {
expect(() => ScriptSchema.parse(script)).not.toThrow();
});
it('should validate script list response', () => {
test('should validate script list response', () => {
const response = {
scripts: [{
entity_id: 'script.welcome_home',
@@ -187,7 +187,7 @@ describe('Device Schemas', () => {
});
describe('Camera Schema', () => {
it('should validate a valid camera entity', () => {
test('should validate a valid camera entity', () => {
const camera = {
entity_id: 'camera.front_door',
state: 'recording',
@@ -200,7 +200,7 @@ describe('Device Schemas', () => {
expect(() => CameraSchema.parse(camera)).not.toThrow();
});
it('should validate camera list response', () => {
test('should validate camera list response', () => {
const response = {
cameras: [{
entity_id: 'camera.front_door',