Skip to content

Commit

Permalink
Merge branch 'main' into StyleChanges
Browse files Browse the repository at this point in the history
  • Loading branch information
G0ndim authored Sep 2, 2024
2 parents 888c7c9 + de95d6e commit 16ada57
Show file tree
Hide file tree
Showing 23 changed files with 833 additions and 16 deletions.
33 changes: 33 additions & 0 deletions .github/workflows/jest_tests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Testes Unitários utilizando Jest

on:
pull_request:
branches:
- main

push:
branches:
- main

jobs:
unit_tests:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Set up Node.js 20.16
uses: actions/setup-node@v3
with:
node-version: 20.16

- name: Install Yarn v1.22
run: |
npm install -g [email protected]
- name: Install dependencies
run: yarn

- name: Run Jest Tests
run: yarn test
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,6 @@ dist-ssr

# Environment
.env

# YARN LOCK TCHAU
yarn.lock
29 changes: 29 additions & 0 deletions documentation/mkdocs/docs/Reunioes/Reuniao24.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
### 29/08/2024

- **Horário:** 15:00 - 16:15
- **Local:** Discord
- **Participantes:** Ana Carolina, Cristiano, Felipe, Lucca, Pedro, Túlio

#### Ata

A reunião teve como objetivo revisar o progresso das tarefas da Sprint 13 e preparar a conclusão da sprint. Cada membro relatou o status de suas responsabilidades, destacando os avanços finais:

- **Antonio, Túlio e Cristiano**: Estão realizando uma reorganização dos arquivos e pastas do projeto para melhorar a estrutura e facilitar a manutenção. A reorganização visa criar uma estrutura de diretórios mais lógica e intuitiva.

- **Pedro e Cristiano**: Estão adicionando a função de notificações na plataforma, para alertar os usuários sobre eventos importantes e prazos.

- **Felipe**: Está trabalhando na correção do CRUD das provas, visando corrigir bugs que afetam a funcionalidade de criação, leitura, atualização e exclusão de provas.

- **Pedro, Felipe e Cristiano**: Estão corrigindo erros identificados que precisam ser resolvidos antes do próximo deploy.

---

#### Encaminhamentos

- **Finalização da Sprint 13**: Conclusão das tarefas e ajustes finais, preparando o terreno para o início da próxima sprint.

- **Planejamento para a Reunião do Dia 05/09/2024**:

- **Encerramento da Sprint 13**: Avaliação dos resultados e encerramento oficial da sprint.

---
29 changes: 29 additions & 0 deletions documentation/mkdocs/docs/Reunioes/Reuniao25.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
### 30/08/2024

- **Horário:** 20:00 - 21:15
- **Local:** Discord
- **Participantes:** Antonio, Cristiano, Lucca, Pedro, Túlio

#### Ata

A reunião teve como objetivo discutir a finalização das issues da Sprint 13 e o planejamento de uma nova sprint para resolver problemas remanescentes no sistema e no projeto. Todos os participantes relataram o progresso das atividades, e ficou registrado que:

- **Finalização das Issues**: Todas as tarefas da reunião passada foram concluídas com sucesso, incluindo a reorganização de arquivos, adição de notificações, correção do CRUD das provas e resolução de erros antes do deploy.

- **Implementação de Testes de Integração Contínua**: Foi destacado que uma nova Pull Request implementou a seguinte funcionalidade:

- **Teste de Build em Push para a Branch Main**: Um pipeline de CI foi configurado para executar testes de build automaticamente em cada push feito para a branch main.
- **Garantia de Estabilidade**: Essa funcionalidade garante que qualquer alteração feita diretamente na branch main seja verificada quanto à integridade do build, prevenindo que código quebrado seja incorporado ao projeto.
- Essa adição fortalece o processo de integração contínua, assegurando que o código na branch main permaneça estável e funcional.

- **Abertura de Nova Sprint**: A próxima sprint foi oficialmente aberta para abordar os problemas ainda presentes no sistema, muitos dos quais foram indicados pela professora e seu monitor. Esses problemas incluem melhorias na usabilidade, correção de bugs menores e ajustes na documentação do projeto.

---

#### Encaminhamentos

- **Início da Nova Sprint**: Todos os participantes devem estar preparados para o início da nova sprint, focando na resolução dos problemas indicados.

- **Reunião de Acompanhamento**: Uma nova reunião será agendada para acompanhar o progresso e garantir que todas as pendências sejam resolvidas até o final da sprint.

---
5 changes: 2 additions & 3 deletions documentation/mkdocs/docs/Sprints/Sprint12.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Sprint 12 - Organização e Correções Críticas

**Período: 21/08/2024 - 29/08/2024**
**Período: 21/08/2024 - 26/08/2024**

## Descrição

Expand All @@ -11,7 +11,7 @@ Nessa Sprint o foco será a estilização geral da plataforma. Iremos alterar o
## Objetivos

- **Estilizar a Plataforma** : Aplicar estilização adequada às cores da plataforma para aprimorar a estética e a consistência visual seguindo os protótipos do figma.
- **Atualizar a documentação**: Adicionar as novas reuniões e sprints, além de atualizar a parte de arquitetura para alinhar com o projeto.
- **Atualizar a documentação**: Adicionar as novas reuniões e sprints, além de atualizar a parte de arquitetura para alinhar com o projeto.
- **Arrumar Bugs**: Arrumar bugs gerais da plataforma para aprimorar o seu uso.

---
Expand All @@ -29,7 +29,6 @@ Nessa Sprint o foco será a estilização geral da plataforma. Iremos alterar o

A reunião teve como objetivo discutir as tarefas da Sprint 12 e organizar a documentação dos processos essenciais, bem como corrigir erros críticos para garantir o bom funcionamento da plataforma. Cada membro discutiu as responsabilidades atribuídas e os seguintes pontos foram abordados:


#### Tarefas Gerais

- **Geral**:
Expand Down
84 changes: 84 additions & 0 deletions documentation/mkdocs/docs/Sprints/Sprint13.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# Sprint 13 - Preparação para o Deploy

**Período: 26/08/2024 - 30/09/2024**

## Descrição

Nesta Sprint, o foco está na preparação para o deploy da plataforma, com ênfase na correção de erros críticos e na implementação de testes automatizados. A reorganização da estrutura do projeto também será realizada para melhorar a organização e a manutenção. Todas as tarefas da Sprint 12 foram concluídas com sucesso, e agora a equipe se concentrará em garantir que a plataforma esteja pronta para o deploy.

---

## Objetivos

- **Reorganização de Arquivos e Pastas**: Reorganizar a estrutura de arquivos nas pastas do projeto para melhorar a organização e facilitar a manutenção. Esta tarefa é essencial para garantir que a documentação e os arquivos estejam bem estruturados e acessíveis, proporcionando maior clareza e facilidade de navegação para futuros desenvolvimentos.

- **Correção de Erros do Typescript para Deploy**: Corrigir erros relacionados ao Typescript que estão impedindo o deploy da aplicação. A resolução desses erros é crucial para garantir a compatibilidade do código com o ambiente de produção e para evitar falhas que possam comprometer a experiência do usuário.

- **Automatizar Testes de Build para PRs na Branch Main**: Implementar scripts de teste de build para controlar a qualidade do código na branch main. Esta funcionalidade garante que qualquer alteração feita diretamente na branch main seja verificada quanto à integridade do build, prevenindo que código quebrado seja incorporado ao projeto e assegurando que o sistema permaneça estável durante o desenvolvimento contínuo.

---

## Reuniões da Sprint

### 1ª Reunião

- **Data:** 29/08/2024

- **Horário:** 15:00 - 16:15

- **Local:** Discord

- **Participantes:** Ana Carolina, Cristiano, Felipe, Lucca, Pedro, Túlio

#### Ata

A reunião teve como objetivo revisar o progresso das tarefas da Sprint 13 e preparar a conclusão da sprint. Cada membro relatou o status de suas responsabilidades, destacando os avanços finais:

- **Antonio, Túlio e Cristiano**: Estão realizando uma reorganização dos arquivos e pastas do projeto para melhorar a estrutura e facilitar a manutenção. A reorganização visa criar uma estrutura de diretórios mais lógica e intuitiva, facilitando a localização e o gerenciamento dos arquivos, o que é fundamental para manter a organização do projeto à medida que ele cresce.

- **Pedro e Cristiano**: Estão adicionando a função de notificações na plataforma, para alertar os usuários sobre eventos importantes e prazos. Essa funcionalidade é crucial para garantir que os usuários sejam informados em tempo real sobre mudanças e prazos, melhorando a usabilidade e a experiência geral com a plataforma.

- **Felipe**: Está trabalhando na correção do CRUD das provas, visando corrigir bugs que afetam a funcionalidade de criação, leitura, atualização e exclusão de provas. A estabilidade dessas funcionalidades é fundamental para assegurar que o sistema funcione de maneira fluida e sem erros, permitindo que os usuários possam gerenciar suas provas de forma eficaz.

- **Pedro, Felipe e Cristiano**: Estão corrigindo erros identificados que precisam ser resolvidos antes do próximo deploy. A resolução desses erros é crítica para garantir que o próximo deploy seja bem-sucedido, sem introduzir novas falhas que possam comprometer o funcionamento do sistema.

#### Encaminhamentos

- **Finalização da Sprint 13**: Conclusão das tarefas e ajustes finais, preparando o terreno para o início da próxima sprint. A equipe deverá se concentrar em concluir todas as tarefas pendentes e revisar o trabalho realizado para garantir que tudo esteja em ordem antes do fechamento oficial da sprint.

- **Planejamento para a Reunião do Dia 05/09/2024**:
- **Encerramento da Sprint 13**: Avaliação dos resultados e encerramento oficial da sprint. A equipe deve se preparar para uma análise detalhada do que foi realizado durante a sprint, destacando os pontos fortes e identificando áreas que precisam de melhorias para as próximas fases do projeto.

---

### 2ª Reunião

- **Data:** 30/08/2024

- **Horário:** 20:00 - 21:15

- **Local:** Discord

- **Participantes:** Antonio, Cristiano, Lucca, Pedro, Túlio

#### Ata

A reunião teve como objetivo discutir a finalização das issues da Sprint 13 e o planejamento de uma nova sprint para resolver problemas remanescentes no sistema e no projeto. Todos os participantes relataram o progresso das atividades, e ficou registrado que:

- **Finalização das Issues**: Todas as tarefas da reunião passada foram concluídas com sucesso, incluindo a reorganização de arquivos, adição de notificações, correção do CRUD das provas e resolução de erros antes do deploy. Isso demonstra o comprometimento da equipe em cumprir os prazos e entregar um produto de qualidade.

- **Implementação de Testes de Integração Contínua**: Foi destacado que uma nova Pull Request implementou a seguinte funcionalidade:

- **Teste de Build em Push para a Branch Main**: Um pipeline de CI foi configurado para executar testes de build automaticamente em cada push feito para a branch main. Essa implementação é fundamental para manter a integridade do código e garantir que qualquer alteração seja devidamente verificada antes de ser integrada ao projeto principal.
- **Garantia de Estabilidade**: Essa funcionalidade garante que qualquer alteração feita diretamente na branch main seja verificada quanto à integridade do build, prevenindo que código quebrado seja incorporado ao projeto. Isso é crucial para evitar que bugs sejam introduzidos inadvertidamente, assegurando a estabilidade e a funcionalidade do sistema.
- Essa adição fortalece o processo de integração contínua, assegurando que o código na branch main permaneça estável e funcional. O uso de CI como parte do fluxo de trabalho diário garante que o desenvolvimento seja mais ágil e menos propenso a erros, permitindo que a equipe se concentre em agregar valor ao produto em vez de corrigir problemas recorrentes.

- **Abertura de Nova Sprint**: A próxima sprint foi oficialmente aberta para abordar os problemas ainda presentes no sistema, muitos dos quais foram indicados pela professora e seu monitor. Esses problemas incluem melhorias na usabilidade, correção de bugs menores e ajustes na documentação do projeto. A nova sprint terá como foco a continuidade do trabalho já iniciado e a resolução das pendências que ainda precisam ser endereçadas.

#### Encaminhamentos

- **Início da Nova Sprint**: Todos os participantes devem estar preparados para o início da nova sprint, focando na resolução dos problemas indicados. A equipe deve alinhar suas prioridades para garantir que as tarefas mais críticas sejam abordadas primeiro, mantendo o projeto no caminho certo para o próximo deploy.

- **Reunião de Acompanhamento**: Uma nova reunião será agendada para acompanhar o progresso e garantir que todas as pendências sejam resolvidas até o final da sprint. O acompanhamento regular permitirá que a equipe identifique problemas cedo e faça os ajustes necessários para manter o cronograma e os objetivos do projeto.

---
11 changes: 11 additions & 0 deletions jest.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
export default {
preset: 'ts-jest',
testEnvironment: '@happy-dom/jest-environment',
transform: {
'^.+\\.tsx?$': 'ts-jest',
// process `*.tsx` files with `ts-jest`
},
moduleNameMapper: {
'\\.(gif|ttf|eot|svg|png)$': '<rootDir>/test/__ mocks __/fileMock.js',
},
};
15 changes: 14 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,16 @@
"dev": "vite",
"build": "tsc && vite build",
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
"preview": "vite preview"
"preview": "vite preview",
"test": "jest"
},
"dependencies": {
"@happy-dom/jest-environment": "^15.7.0",
"@testing-library/dom": "^10.4.0",
"firebase": "^10.12.4",
"formik": "^2.4.6",
"happy-dom": "^15.7.0",
"jest-environment-jsdom": "^29.7.0",
"primeflex": "^3.3.1",
"primeicons": "^7.0.0",
"primereact": "^10.6.3",
Expand All @@ -23,6 +28,10 @@
"zustand": "^4.5.4"
},
"devDependencies": {
"@testing-library/jest-dom": "^6.5.0",
"@testing-library/react": "^16.0.0",
"@testing-library/user-event": "^14.5.2",
"@types/jest": "^29.5.12",
"@types/react": "^18.2.66",
"@types/react-dom": "^18.2.22",
"@typescript-eslint/eslint-plugin": "^7.2.0",
Expand All @@ -31,6 +40,10 @@
"eslint": "^8.57.0",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.6",
"identity-obj-proxy": "^3.0.0",
"jest": "^29.7.0",
"ts-jest": "^29.2.5",
"ts-node": "^10.9.2",
"typescript": "^5.2.2",
"vite": "^5.2.0"
}
Expand Down
36 changes: 36 additions & 0 deletions src/__tests__/components/Cardapio/Calltoaction2.spec.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import '@testing-library/jest-dom';

import { render, screen } from '@testing-library/react';

import Calltoaction2 from '../../../components/Cardapio/Calltoaction2';

describe('Calltoaction2', () => {
test('renders the component with correct elements', () => {
render(<Calltoaction2 />);

// Verifica se o link para o GitHub está presente e tem o texto correto
const githubLink = screen.getByRole('link', {
name: /CRIADO POR SQUAD 9/i,
});
expect(githubLink).toBeInTheDocument();
expect(githubLink).toHaveAttribute(
'href',
'https://github.com/unb-mds/Squad09-UnBHUB'
);

// Verifica se o link para o RU está presente e tem o texto correto
const ruLink = screen.getByRole('link', {
name: /https:\/\/ru\.unb\.br\/index\.php\/cardapio-refeitorio/i,
});
expect(ruLink).toBeInTheDocument();
expect(ruLink).toHaveAttribute(
'href',
'https://ru.unb.br/index.php/cardapio-refeitorio'
);

// Verifica se os textos adicionais estão presentes
expect(
screen.getByText('Informações retiradas de:', { exact: false })
).toBeInTheDocument();
});
});
51 changes: 51 additions & 0 deletions src/__tests__/components/Inputs/input.spec.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
import '@testing-library/jest-dom';
import { fireEvent, render, screen } from '@testing-library/react';
import { useState } from 'react';

import InputComponent from '../../../components/Input';

describe('Testes referente ao InputComponent', () => {
it('Validação de existência do Input', () => {
const Component = () => {
const [initialValue, setInitialValue] = useState('');
return (
<InputComponent
label="TestLabel"
errors=""
touched
value={initialValue}
onChange={(text) => {
setInitialValue(text.target.value);
}}
/>
);
};
render(<Component />);

const input = screen.getByRole('textbox');
expect(input).toBeInTheDocument();
});

it('Alteração de valores do Input', () => {
const Component = () => {
const [initialValue, setInitialValue] = useState('');
return (
<InputComponent
label="TestLabel"
errors=""
touched
value={initialValue}
onChange={(text) => {
setInitialValue(text.target.value);
}}
/>
);
};
render(<Component />);

const input = screen.getByRole('textbox');
fireEvent.change(input, { target: { value: '123' } });

expect(input).toHaveValue('123');
});
});
27 changes: 27 additions & 0 deletions src/__tests__/components/Landing/Calltoaction.test.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import '@testing-library/jest-dom';

import { render, screen } from '@testing-library/react';

import userEvent from '@testing-library/user-event';
import Calltoaction from '../../../components/Landing/Calltoaction';

describe('Testes no componente Calltoaction', () => {
test('Verificar se somos redirecionados para a URl do GitHub quando "CRIADO POR SQUAD 9" é clicado', () => {
render(<Calltoaction />);

// Obtenha o link usando o texto "CRIADO POR SQUAD 9"
const linkElement = screen.getByText(/CRIADO POR SQUAD 9/i);

// Verifique se o link tem o href correto
expect(linkElement.closest('a')).toHaveAttribute(
'href',
'https://github.com/unb-mds/Squad09-UnBHUB'
);

// Simule o clique no link
userEvent.click(linkElement);

// Verifique se o link foi clicado (isso não abre a URL na verdade, só confirma que o link é funcional)
expect(linkElement.closest('a')).toBeInTheDocument();
});
});
Loading

0 comments on commit 16ada57

Please sign in to comment.