Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Desafio QA Concrete - Bruno Pulis #74

Open
wants to merge 12 commits into
base: master
Choose a base branch
from
Open
5 changes: 5 additions & 0 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"presets": [
"@babel/preset-env"
]
}
7 changes: 7 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[*.{js}]
indent_style = space
indent_size = 2
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
max_line_length = 100
2 changes: 2 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
node_modules/
gherkin/
15 changes: 15 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
module.exports = {
env: {
browser: true,
es2021: true,
},
extends: [
'airbnb-base',
],
parserOptions: {
ecmaVersion: 12,
sourceType: 'module',
},
rules: {
},
};
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules/
76 changes: 0 additions & 76 deletions Kata09.md

This file was deleted.

37 changes: 21 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,29 @@
# Objetivo do Desafio
# Desafio QA Concrete

Verificar suas habilidades em conceber cenários de testes e em programação, necessárias para automatização dos testes.
Repositório do desafio para QA's

Para isso você deverá conceber cenários para duas funcionalidades do Whatsapp e resolver o exercício 09 do site [CodeKata](http://www.codekata.com), que também pode ser encontrado [aqui](Kata09.md).
## Pre-requisitos

### Deve conter ###
Para instalar dependencias do projeto e executar os testes automatizados e necessario que o Node.js e NPM estejam instalado no seu computador.

* Especificação de duas funcionalidades do Whatsapp (não importa se o app é Android, iOS, Windows Phone ou versão Web) em Gherkin ou Gauge
* Cada especificação deve conter ao menos um cenário de teste
* Resposta do exercício 09 do site [CodeKata](http://www.codekata.com), ou [aqui](Kata09.md), na linguagem de programação que lhe for mais conveniente
## Instalacao

Apos o clonar o projeto acesse o diretorio do mesmo e execute `npm install` para instalar as dependencias de desenvolvimento.

### **Processo de submissão** ###
O candidato deverá implementar a solução e enviar um pull request para este repositório com a solução.
## Executando os testes

O processo de Pull Request funciona da seguinte maneira:
1. Candidato fará um fork desse repositório (não irá clonar direto!)
2. Fará seu projeto nesse fork.
3. Commitará e subirá as alterações para o SEU fork.
4. Irá enviar um Pull Request para este repositório.
Execute o comando `npm run test:watch` para executar os testes com o modo `watch` habilitado

### **ATENÇÃO** ###
Não se deve tentar fazer o PUSH diretamente para ESTE repositório!!!
```sh
npm run test:watch
```

## Tecnologias usadas

* Javascript ES6;
* Jest;
* Validate-commit;
* Husky;
* ESLint;
* Editor Config;
* Conventional Changelog
24 changes: 24 additions & 0 deletions features-whatsapp/arquivar.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
Feature: Arquivar conversa
Como Usuario
Quero arquivar uma conversar
Para que possa limpar o feed de conversas

Background: Logado no whatsapp via smartphone
Given eu esteja logado
And estou no feed de conversas

Scenario: arquiva conversa especifica
When escolho uma conversa para ser arquivada
And seleciono a opcao "Arquivar"
Then o sistema exibe a mensagem "1 conversa arquivada - Desfazer"


Scenario Outline: arquiva varias conversas
When seleciono <quantidadeConversas>
And seleciono a opcao "Arquivar"
Then o sistema exibe a <mensagemFeedback>

Examples:
| quantidadeConversas | mensagemFeedback |
| 2 | "2 conversas arquivadas - Desfazer" |
| 20 | "20 conversas arquivadas - Desfazer" |
18 changes: 18 additions & 0 deletions features-whatsapp/deletar.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Feature: Limpar historico
Como Usuario
Quero limpar o historico de uma conversa
Para que nao tenha registros da mesma

Background: Logado no whatsapp via smartphone
Given eu esteja logado
And estou com uma conversa aberta
And seleciono as opcoes de conversa
And habilito a opcao de "Limpar conversa"

Scenario: limpa historico
When o sistema exibe a "Tem certeza de que deseja limpar as mensagens nesta conversa?"
Then confirmo a deleção, o histórico é apagado

Scenario: limpa historico e arquivos de midia
When o sistema exibe a opcao de "Apagar arquivos de midia" habilitada
Then confirmo a deleção, o histórico de mensagens e midias relacionados são apagados.
10 changes: 10 additions & 0 deletions jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/*
* For a detailed explanation regarding each configuration property, visit:
* https://jestjs.io/docs/en/configuration.html
*/

module.exports = {
clearMocks: true,
coverageDirectory: "coverage",
verbose: true,
};
Loading