1.3.1 • Published 12 months ago

@bemedev/vitest-extended v1.3.1

Weekly downloads
-
License
MIT
Repository
github
Last release
12 months ago

@bemedev/vitest-extended

Extensions pour faciliter la création de tests avec Vitest.

Installation

npm install @bemedev/vitest-extended

ou

pnpm add @bemedev/vitest-extended

ou

yarn add @bemedev/vitest-extended

Utilisation

Importation des fonctions

import {
  useTestFunctionAcceptation,
  useTFA /* Alias of useTestFunctionAcceptation*/,
  createTests,
  doneTest,
  useEach,
  useEachAsync,
  useEachCases,
} from '@bemedev/vitest-extended';

Exemples

Création de tests

import { createTests } from '@bemedev/vitest-extended';

const add = (a: number, b: number) => a + b;

describe('Addition', () => {
  const { success } = createTests(add);

  success(
    { invite: 'addition de 1 et 2', parameters: [1, 2], expected: 3 },
    { invite: 'addition de 2 et 3', parameters: [2, 3], expected: 5 },
  );
});

Utilisation de doneTest

import { doneTest } from '@bemedev/vitest-extended';
import { createMachine, interpret } from 'xstate';

const machine = createMachine({
  id: 'my-machine',
  initial: 'idle',
  states: {
    idle: {
      on: {
        START: 'running',
      },
    },
    running: {
      on: {
        STOP: 'idle',
        FINISH: 'done',
      },
    },
    done: { type: 'final' },
  },
});

doneTest('test avec done', done => {
  setTimeout(() => {
    expect(true).toBe(true);
    done();
  }, 100);
});

API

useTestFunctionAcceptation

Test d'acceptation pour une fonction.

useTFA

Alias de useTFA.

createTests

Crée des tests pour une fonction avec des cas spécifiques.

doneTest

Crée un test avec une fonction done et un timeout.

useEach

Version améliorée de test.each suivant le principe de la librairie.

useEachAsync

Version asynchrone de useEach.

useErrorAsync

Version asynchrone de useError.

NB:

You can mock the function and assign a value to this function at runtime

import { createTests } from '@bemedev/vitest-extended';

type Add_F = (numb1: number, numb2: number) => number;
const add: Add_F = (numb1, numb2) => numb1 + numb2;
const addTest = undefined as unknown as Add_F;

describe('#2 => CreateTests, funcTest is initialazed after', () => {
  const { success } = createTests.withImplementation(addTest, {
    instanciation: () => add,
    name: 'add', // Add a name because name is not provided at static time
  });

  describe(
    '#01 => success',
    success(
      {
        invite: '0 + 0 = 0',
        parameters: [0, 0],
        expected: 0,
      },
      {
        invite: '99 + 1 = 0',
        parameters: [99, 1],
        expected: 100,
      },
      {
        invite: '1 + 1 = 0',
        parameters: [1, 1],
        expected: 2,
      },
    ),
  );
});

Licence

MIT

CHANGE_LOG

1.3.1 - 2025-02-21 21:00

Fix

  • fix createFakeWaiter
  • 100% coverage

1.3.0 - 2025-02-21 21:00

Fix

  • Corrected issue with async error handling in useErrorAsyncEachCases.

Added

  • Add fakeWaiter

1.2.3 - 2025-02-08 00:00

Deleted

  • remove fakeWaiter,

1.2.2 - 2025-02-08 00:00

Fix

  • fix fakeWaiter, not use directly vi

1.2.0 - 2025-02-08 00:00

Added

  • add fakeWaiter

1.1.6 - 2025-01-24 13:00

Fix

  • Fix name inside acceptation tests

1.1.4 - 2025-01-24 12:40

Ajout

  • Add an option to provide custom string for error handling

1.1.3 - 2025-01-24 09:00

Ajout

  • Peer dependencies vitest upgraded !

1.1.1 - 2025-01-20 14:30

Ajout

  • Correction des erreurs de typographie dans la documentation.

Amélioration

  • Optimisation des performances des tests unitaires pour une exécution plus rapide.
  • 100% coverage
  • Meilleur typage

1.1.0 - 2025-01-15

Ajout

  • Ajout de nouvelles assertions personnalisées pour Vitest.
  • Ajout de tests unitaires pour tester les erreurs dans les fonctions

Modification

  • Amélioration des performances des fonctions existantes.
  • Refactorisation du code pour une meilleure lisibilité et maintenabilité.

Correction

  • Correction d'un bug mineur dans la fonction createTests qui causait des erreurs intermittentes.

1.0.0 - 2023-10-10

Ajouté

  • Initialisation du projet avec les extensions pour Vitest.
  • Création des fonctions : acceptation, createTests, done, each, types
  • Possibilité de mocker la fonction avant les tests avec la function "createTests"

Auteur

Charles-Lévi BRI,

My github

1.2.0

12 months ago

1.1.1

1 year ago

1.1.0

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago

1.1.6

1 year ago

1.1.5

1 year ago

1.2.3

12 months ago

1.1.4

1 year ago

1.3.1

12 months ago

1.2.2

12 months ago

1.1.3

1 year ago

1.3.0

12 months ago

1.2.1

12 months ago

1.1.2

1 year ago

0.5.0

1 year ago

0.6.0

1 year ago

0.5.1

1 year ago

0.4.1

2 years ago

0.4.0

2 years ago

0.3.5

2 years ago

0.3.3

2 years ago

0.3.1

2 years ago

0.3.0

2 years ago

0.2.6

2 years ago

0.2.5

2 years ago

0.2.4

2 years ago

0.2.3

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago