Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
node_modules
playwright-report
test-results
.git
.github
27 changes: 27 additions & 0 deletions .github/workflows/playwright.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Playwright Tests
on:
push:
branches: [ main, douglas-figueiredo ]
pull_request:
branches: [ main, douglas-figueiredo ]
jobs:
test:
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: lts/*
- name: Install dependencies
run: npm ci
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Run Playwright tests
run: npx playwright test
- uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: playwright-report
path: playwright-report/
retention-days: 30
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@

# Playwright
node_modules/
/test-results/
/playwright-report/
/blob-report/
/playwright/.cache/
/playwright/.auth/
75 changes: 75 additions & 0 deletions BUG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# [Bug #01] Campo de tempo exibido como "null min" no cabeçalho

### Descrição
O indicador de tempo localizado no cabeçalho da aplicação está exibindo o valor `null min` ao invés do tempo real.

### Passos para reproduzir
1. Abrir a aplicação.
2. Observe que o tempo como `null min` no cabeçalho do dashboard

### Resultado Atual
A interface apresenta o tempo como `null min`.

### Resultado Esperado
O campo deveria exibir o tempo corretamente.

### Severidade - Média
O bug afeta a usabilidade e a percepção de qualidade da aplicação, mas não impede o acesso às funcionalidades principais. No entanto, a omissão pode causar confusão para os usuários, pois o tempo é uma informação importante para o monitoramento e análise dos dados apresentados no dashboard.

## Prioridade - Alta
Devido à importância do tempo para a compreensão dos dados e para a tomada de decisões, é recomendado que este bug seja corrigido com alta prioridade para garantir uma melhor experiência do usuário e a confiabilidade da aplicação.

### Evidências
![Tempo exibido como null](./screenshots-bugs/tempo-null.png)

---

# [Bug #02] Tooltip não exibido no gráfico de Temperatura

### Descrição
Ao navegar com o mouse sobrere o gráfico de temperatura, não é exbido o tooltip com as informações para o usuario como nos demais gráficos

### Passos para reproduzir
1. Abrir a aplicação.
2. Observe o segundo gráfico de temperatura
3. Repouse o mouse sobre o gráfico
4. Observe que o tooltip com as informações de temperatura não exibidos

### Resultado Atual
O gráfico de temperatura não apresenta o tooltip com as informações de temperatura

### Resultado Esperado
Ao repousar o mouse sobre o gráfico é esperado que as informações de temperatura sejam exibidas para o usuario

### Severidade - Média
O bug afeta a percepção de qualidade da aplicação, mas não impede o acesso às funcionalidades principais. Porém, a ausência do tooltip pode causar incomodo para os usuários, pois eles não conseguem acessar informações detalhadas sobrere a temperatura, o que é essencial para a análise dos dados apresentados no gráfico.

### Prioridade - Alta
Devido à importância do tooltip para a compreensão dos dados e para a tomada de decisões, é recomendado que este bug seja corrigido com alta prioridade.

### Evidências
![Tooltip não exibido no gráfico de temperatura](./screenshots-bugs/grafico-temp.png)

---

# [Bug #03] Erro 404 no console ao tentar carregar /vite.svg

### Descrição
Ao abrir a aplicação, é possível observar um erro 404 no console do navegador relacionado ao arquivo `/vite.svg`. Este erro indica que o arquivo não foi encontrado no servidor.

### Passos para reproduzir
1. Abrir a aplicação.
2. Abrir o console do navegador (pressionando F12)
3. Observar o erro 404 relacionado ao arquivo `/vite.svg`

### Resultado Atual
`Failed to load resource: the server responded with a status of 404 (/vite.svg)`

### Resultado Esperado
A aplicação não deve tentar carregar recursos inexistentes.

### Severidade - Baixa
O bug não afeta diretamente a funcionalidade da aplicação.

### Prioridade - Baixa
Baixo impacto — não afeta funcionalidades da aplicação, apenas o carregamento de um recurso estático.
13 changes: 13 additions & 0 deletions DESIGN-FEEDBACK.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Ausência visual de informações para os toolstips

## Descrição
O protótipo no Figma não apresenta o estado de "Hover" (passar o mouse) nem o componente de Tooltip.

## Referencia
Requisito: "Como usuário, ao passar o mouse sobrere o gráfico, quero ver um tooltip exibindo os valores de dados."

## Feedback
A ausência do estado de "Hover" e do componente de Tooltip no protótipo pode levar a uma falta de clareza para os desenvolvedores e testadores sobrere como o tooltip deve ser exibido.

### Evidências
![Protótipo sem estado de Hover e Tooltip](./screenshots-bugs/prototipo-figma.png)
18 changes: 18 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Imagem oficial do Playwright que já contém Node.js e todos os browsers/dependências de SO
FROM mcr.microsoft.com/playwright:v1.58.2-jammy

# Define o diretório de trabalho dentro do container
WORKDIR /app

# Copia os arquivos de definição de dependências
COPY package*.json ./

# Instala as dependências do projeto
RUN npm install

# Copia o restante dos arquivos do projeto (respeitando o .dockerignore)
COPY . .

# Comando padrão para executar os testes
# Usamos o --reporter=html para garantir que o report seja gerado
CMD ["npx", "playwright", "test"]
82 changes: 40 additions & 42 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,55 +1,53 @@
# Dynamox Developer Challenges
# Projeto de Testes Automatizados – Playwright

## About Dynamox
Este projeto contém testes automatizados end-to-end utilizando Playwright.

[Dynamox](https://dynamox.net/) is a high-tech firm specializing in vibration analysis and industrial asset condition monitoring. Our expert team develops comprehensive hardware and software solutions, encompassing firmware, mobile applications (Android and iOS), and full-stack cloud native applications.
## Pré-requisitos

With our proficiency in signal processing for vibration and acoustics, we deliver advanced and precise monitoring systems. We are committed to optimizing operational efficiency and facilitating proactive maintenance through our innovative technology and integrated solutions.
Antes de começar, você precisa ter instalado na máquina:

## Positions
- Node.js (versão 18 ou superior)
- npm (gerenciador de pacotes do Node.js)

We are looking for developers who are passionate about learning, growing, and contributing to our team. You will play a key role in our development efforts, working on a variety of projects and collaborating with different teams to build and improve our solutions.
## Tecnologias
- **Framework:** [Playwright](https://playwright.dev/)
- **Linguagem:** TypeScript
- **Arquitetura:** Page Object Model (POM)
- **Containerização:** Docker & Docker Compose
- **CI/CD:** GitHub Actions

We value flexibility and collaboration, hence we provide opportunities for you to lend your skills to other teams when required. Join us on this exciting journey as we revolutionize our digital platforms. Currently we are particularly interested in individuals who can identify with one of the following role descriptions:
## Instalação
1. Clone este repositório para a sua máquina local:

### Junior Software Developer
```bash
git clone https://github.com/dynamox-s-a/developer-challenges.git
```
2. Mova para a branch `douglas-figueiredo`:

With limited experience, assists in coding, testing, and stabilizing systems under supervision. Communicates with immediate team members and solves straightforward problems with guidance. Should display a willingness to learn and grow professionally. This is an individual contributor role.
```bash
git switch douglas-figueiredo
```
3. Instale as dependências do projeto:

### Mid-level Software Developer
```bash
npm install
```
## Executando os Testes
Para executar os testes, use o seguinte comando:

With a certain level of proven experience, contributes to software development, solves moderate problems, and starts handling ambiguous situations with minimal guidance. Communicates with the broader team and engages in code reviews and documentation. This role also includes supporting junior engineers and commitment to continuous learning. This is an individual contributor role.
instale os browsers do playwright:
```bash
npx playwright install
```
Para executar os testes:

### Senior-level Software Developer
```bash
npx playwright test
```

With vast experience, enhances software development, leading complex system development and ambiguous situation handling. Tackles intricate problems and mentors junior and mid-level engineers. Champions coding standards, project strategy, and technology adoption. Communicates across teams, influencing technical and non-technical stakeholders. This individual contributor role blends technical expertise with leadership, focusing on innovation, mentorship, and strategic contributions to the development process.
### Executando com Docker
Se você tem o Docker instalado, não precisa configurar o ambiente Node.js localmente. Basta rodar o comando abaixo na raiz do projeto.

## Challenges Full-Stack

- [ ] [01 - Dynamox Full-Stack Node.js React Developer Challenge](./full-stack-challenge.md)
- [ ] [02 - Dynamox Full-Stack C# React Developer Challenge](./full-stack-csharp-react-challenge.md)

## Challenges Front-End

- [ ] [01 - Dynamox Front-end React Developer Challenge Marketing Teams](./front-end-challenge-v1.md)
- [ ] [02 - Dynamox Front-end React Developer Challenge Product Teams](./front-end-challenge-v2.md)

## Challenges DevOps

- [ ] [01 - Dynamox DevOps Developer Challenge Foundation Teams](./dev-sec-fin-ops-challenge-v1/README.md)

## Challenges Mobile

- [ ] [01 - Dynamox Kotlin Multiplatform Developer Challenge](./kotlin-multiplatform-challenge.md)
- [ ] [02 - Dynamox Android Developer Challenge](./android-challenge.md)
- [ ] [03 - Dynamox iOS Developer Challenge](./ios-challenge.md)

## Challenge Back-End
- [ ] [01 - Dynamox Back-End Time Series ](./back-end-challenge-v1.md)

## Challenge QA
- [ ] [01- Dynamox QA Challenge](./qa-challenge.md)

</br>

**Good luck! We look forward to reviewing your submission.** 🚀
```bash
docker compose up --build
```
9 changes: 9 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
services:
playwright-tests:
build: .
container_name: douglas-figueiredo
volumes:
- ./playwright-report:/app/playwright-report
- ./test-results:/app/test-results
stdin_open: true
tty: true
55 changes: 55 additions & 0 deletions dynamoxChallenges/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Dynamox Developer Challenges

## About Dynamox

[Dynamox](https://dynamox.net/) is a high-tech firm specializing in vibration analysis and industrial asset condition monitoring. Our expert team develops comprehensive hardware and software solutions, encompassing firmware, mobile applications (Android and iOS), and full-stack cloud native applications.

With our proficiency in signal processing for vibration and acoustics, we deliver advanced and precise monitoring systems. We are committed to optimizing operational efficiency and facilitating proactive maintenance through our innovative technology and integrated solutions.

## Positions

We are looking for developers who are passionate about learning, growing, and contributing to our team. You will play a key role in our development efforts, working on a variety of projects and collaborating with different teams to build and improve our solutions.

We value flexibility and collaboration, hence we provide opportunities for you to lend your skills to other teams when required. Join us on this exciting journey as we revolutionize our digital platforms. Currently we are particularly interested in individuals who can identify with one of the following role descriptions:

### Junior Software Developer

With limited experience, assists in coding, testing, and stabilizing systems under supervision. Communicates with immediate team members and solves straightforward problems with guidance. Should display a willingness to learn and grow professionally. This is an individual contributor role.

### Mid-level Software Developer

With a certain level of proven experience, contributes to software development, solves moderate problems, and starts handling ambiguous situations with minimal guidance. Communicates with the broader team and engages in code reviews and documentation. This role also includes supporting junior engineers and commitment to continuous learning. This is an individual contributor role.

### Senior-level Software Developer

With vast experience, enhances software development, leading complex system development and ambiguous situation handling. Tackles intricate problems and mentors junior and mid-level engineers. Champions coding standards, project strategy, and technology adoption. Communicates across teams, influencing technical and non-technical stakeholders. This individual contributor role blends technical expertise with leadership, focusing on innovation, mentorship, and strategic contributions to the development process.

## Challenges Full-Stack

- [ ] [01 - Dynamox Full-Stack Node.js React Developer Challenge](./full-stack-challenge.md)
- [ ] [02 - Dynamox Full-Stack C# React Developer Challenge](./full-stack-csharp-react-challenge.md)

## Challenges Front-End

- [ ] [01 - Dynamox Front-end React Developer Challenge Marketing Teams](./front-end-challenge-v1.md)
- [ ] [02 - Dynamox Front-end React Developer Challenge Product Teams](./front-end-challenge-v2.md)

## Challenges DevOps

- [ ] [01 - Dynamox DevOps Developer Challenge Foundation Teams](./dev-sec-fin-ops-challenge-v1/README.md)

## Challenges Mobile

- [ ] [01 - Dynamox Kotlin Multiplatform Developer Challenge](./kotlin-multiplatform-challenge.md)
- [ ] [02 - Dynamox Android Developer Challenge](./android-challenge.md)
- [ ] [03 - Dynamox iOS Developer Challenge](./ios-challenge.md)

## Challenge Back-End
- [ ] [01 - Dynamox Back-End Time Series ](./back-end-challenge-v1.md)

## Challenge QA
- [ ] [01- Dynamox QA Challenge](./qa-challenge.md)

</br>

**Good luck! We look forward to reviewing your submission.** 🚀
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loading