Giter Site home page Giter Site logo

devbox-test's Introduction

DEVBOX-TEST

* Testes aplicação (requisições)
* Testes unitários

Instalação

* npm i devbox-test --save

OBS...

*   Class Config (Unica, servidor dos testes).
*   Class Test   (Uma por Controller a ser testado).

EXEMPLOS

(async() => {
    const { Config, Test } = require('devbox-test');

    let testConfig = new Config({
        uri: 'Caminho base para todas requisições',
        headers: 'Header padrão para todas requisições',
        log: { path: 'src/logs' }
    });

    function teste(config){
        let test = new Test(config);

        test
            .title('Título qualquer para o controller')
            .body({}) // Body que sera usado no corpo das requisições (put|post) * Pode ser alterado
            .event({
                title: 'Cadastrar',                     // Título do método
                url: '/api/teste',                      // Caminho para o método
                method: 'post',                         // Verbo
                await: true,                            // Obriga que este método funcione para executar outros do mesmo controller
                expected: ret => ret.statusCode == 200  // Define o que esperar do resultado 
            })
            .event({
                title: 'Alterar',
                url: '/api/teste/:id',
                method: 'put',
                merge: {                                        // Faz merge com o body
                    id: test.getReturn('content.id')
                },
                params: { id: test.getReturn('content.id') }    // Insere parâmetros na url, caso nâo esteja declara coloca o parâmetro como queryString
            })
            .event({
                title: 'Buscar',
                url: '/api/teste/:id',
                method: 'delete',
                params: { id: test.getBody('id') }
            })

        return test;
    }

    testConfig
        .add(teste);
        // Adicionar quantos forem necessários
        // .add(teste2)
        // .add(teste3);

    await testConfig.init();

});

devbox-test's People

Contributors

gustavomaritan avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.