LinusU / LinusU/node-pg-tmp

Tear down databases manually feature request

Aperta
#2 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Shell
Stelle
1
Fork
1
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

I think a feature that can be added to this library would be to tear down databases manually.

A use case for this would be to do this in the "tear-down" section in testing frameworks. For example, in vitest a possible implementation of this would be:

import {describe, test, beforeAll} from "vitest";
import createDb from "pg-tmp";

describe("Database test", () => {
    beforeAll(async () => {
        const { teardownDb } = await createDb();
        // return cleanup function
        return async () => {
            await teardownDb();
        };
    });
    
    test("specific database tests", () => {
        // tests with the database.
    });
});

This should be easy to implement using the "stop" command already implemented in pg_tmp.sh.

I'd be up to make a PR myself, but I figured I'd get permission first & so forth.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia leggendo il comando stop esistente in pg_tmp.sh e l'API Node.js che lo invoca. Definisci come debba essere esposta da createDb la funzione di teardown manuale, usando l'esempio Vitest come utilizzo previsto. Il lavoro è completato quando i chiamanti possono invocare teardownDb durante la pulizia dei test e viene riutilizzato il comportamento esistente di arresto del database.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
node.js, postgresql, shell
Ambito
api, databases, testing-qa
Tipo di issue
Funzionalità
Difficoltà
2/5
Tempo stimato
1-3 ore
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
38/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.