npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

robot-helper

v1.0.0-beta.2.1

Published

A package for help you to test your react components using the robot pattern.

Downloads

9

Readme

Robot Helper

Este pacote contém um conjunto de funções utilitárias para auxilia-lo na escrita de testes unitários e E2E usando Robot Pattern. Desde interações básicas com a interface como o cliock de um botão, até formas práticas de mockar chamadas a API's ou banco de dados o Robot Helper foi construido pensando na melhor forma de otimizar a escrita de testes com o Robot Pattern e deixa-lo ainda mais legível. Para mais informações acesso o repositório do pacote: Static Badge

Índice

Pré requisitos

Npm

Instalação

Para instalar este pacote, você precisa ter o Node.js e o npm instalados em sua máquina. Depois, você pode instalar o pacote com o seguinte comando:

npm install robot-helper -D

Importação

Depois de instalar o pacote, você pode importá-lo em seu arquivo de teste da seguinte maneira:

import robotHelper from 'robot-helper';

e desestruturar os helpers assim:

const { actionHelper, mockHelper, assertHelper } = robotHelper;

Documentação

Métodos

triggerEvent()

Este método procura um elemento na tela pelo texto e dispara um evento. Se nenhum evento for especificado, um clique será disparado. Ele lança um erro se o elemento não for encontrado ou se o evento não existir em fireEvent.

fillFormField()

Este método procura um campo de entrada (input) pelo texto do placeholder e preenche com o valor fornecido. Ele lança um erro se o campo não for encontrado ou se não for uma instância de HTMLInputElement.

clickButton()

Este método procura um botão pelo texto e dispara um evento de clique. Ele lança um erro se o botão não for encontrado.

Uso

import robotHelper from 'robotHelper';

const { actionHelper } = robotHelper;

// Para disparar um evento de clique em um elemento
await actionHelper.triggerEvent('Texto do Elemento');

// Para preencher um campo de entrada
await actionHelper.fillFormField('Texto do Placeholder', 'Valor');

// Para clicar em um botão
await actionHelper.clickButton('Texto do Botão');

Métodos

checkIf()

Este método recebe dois valores, um matcher e um modifier opcional. Ele usa o matcher para comparar os dois valores e o modifier para modificar o comportamento da comparação. Por exemplo, se o modifier for 'not', a comparação será invertida.

asyncCheckIf

Este método é semelhante ao checkIf, mas é assíncrono. Ele é útil para comparações que envolvem operações assíncronas.

checkArray()

Este método realiza uma operação em um array e verifica se o resultado é igual ao valor fornecido. A operação pode ser 'contains' para verificar se o array contém um valor, ou 'length' para verificar o comprimento do array.

checkObject()

Este método realiza uma operação em um objeto e verifica se o resultado é igual ao valor fornecido. A operação pode ser 'hasProperty' para verificar se o objeto tem uma propriedade, ou 'keys' para verificar as chaves do objeto.

verifyElementPresence()

Este método verifica se um elemento com o texto fornecido está presente na tela.

verifyElementAbsence()

Este método verifica se um elemento com o texto fornecido não está presente na tela.

Uso

import robotHelper from 'robotHelper';

const { assertHelper } = robotHelper;

// Para verificar se dois valores são iguais
assertHelper.checkIf(received, expected, 'toEqual');

// Para verificar se um array contém um valor
assertHelper.checkArray(array, 'contains', value);

// Para verificar se um objeto tem uma propriedade
assertHelper.checkObject(object, 'hasProperty', propertyName);

// Para verificar a presença de um elemento
await assertHelper.verifyElementPresence('Texto do Elemento');

// Para verificar a ausência de um elemento
await assertHelper.verifyElementAbsence('Texto do Elemento');

Métodos

fetchSuccess()

Este método simula uma chamada de fetch bem-sucedida com os dados fornecidos e um tempo limite opcional. Ele substitui global.fetch por uma função que retorna uma promessa que resolve para um objeto de resposta com os dados fornecidos e um status de 200.

fetchFailure()

Este método simula uma chamada de fetch que falha com o erro fornecido e um tempo limite opcional. Ele substitui global.fetch por uma função que retorna uma promessa que rejeita com o erro fornecido.

fetchWithStatus()

Este método simula uma chamada de fetch com os dados fornecidos, um status de resposta e um tempo limite opcional. Ele substitui global.fetch por uma função que retorna uma promessa que resolve para um objeto de resposta com os dados fornecidos e o status fornecido.

clearFetchMock()

Este método limpa o mock de fetch, substituindo global.fetch por uma função vazia.

Uso

import robotHelper from 'robotHelper';

const { mockHelper } = robotHelper;

// Para simular uma chamada de fetch bem-sucedida
mockHelper.fetchSuccess({ key: 'value' });

// Para simular uma chamada de fetch que falha
mockHelper.fetchFailure(new Error('Network error'));

// Para simular uma chamada de fetch com um status específico
mockHelper.fetchWithStatus({ key: 'value' }, 404);

// Para limpar o mock de fetch
mockHelper.clearFetchMock();

Tecnologias usadas

Pensando no desempenho e na escalabilidade deste pacote e do seu projeto, escolhemos as tecnologias mais avançadas do mercado para compor nosso projeto. Elas são: React Jest Typescript Testing Library

Contribuindo

Contribuições são bem-vindas. Por favor, abra uma issue primeiro para discutir o que você gostaria de mudar.

Licença

License: MIT