diff --git a/backend/src/services/tendersMonthService.js b/backend/src/services/tendersMonthService.js
index 185be54..1f25a3b 100644
--- a/backend/src/services/tendersMonthService.js
+++ b/backend/src/services/tendersMonthService.js
@@ -9,11 +9,12 @@ async function getTendersByMonth(start, end) {
const { data, error } = await supabase
.from('tendersmonth')
.select('*')
- .gte('year', startYear)
- .lte('year', endYear)
- .gte('month', startMonth)
- .lte('month', endMonth);
-
+ .or(
+ `and(year.eq.${startYear},month.gte.${startMonth}),` +
+ `and(year.gt.${startYear},year.lt.${endYear}),` +
+ `and(year.eq.${endYear},month.lte.${endMonth})`
+ );
+
if (error) {
throw new Error(error.message);
}
@@ -23,5 +24,4 @@ async function getTendersByMonth(start, end) {
module.exports = {
getTendersByMonth,
-};
-
+};
\ No newline at end of file
diff --git "a/docs/Como executar/Front-end/Testes unit\303\241rios/Testes do Componente Filtro.md" "b/docs/Como executar/Front-end/Testes unit\303\241rios/Testes do Componente Filtro.md"
index 3130ce3..972c368 100644
--- "a/docs/Como executar/Front-end/Testes unit\303\241rios/Testes do Componente Filtro.md"
+++ "b/docs/Como executar/Front-end/Testes unit\303\241rios/Testes do Componente Filtro.md"
@@ -2,43 +2,25 @@
## Descrição Geral
-Este conjunto de testes foi desenvolvido para verificar o comportamento e a renderização correta do componente `Filtro` no projeto. A abordagem adotada utiliza a biblioteca `@testing-library/react` e `Jest` para renderizar o componente e validar os elementos visíveis na interface de usuário, garantindo que todos os elementos essenciais estejam presentes e corretamente configurados.
+Este conjunto de testes foi desenvolvido para verificar o comportamento e a renderização correta do componente `Filtro` no projeto. A abordagem adotada utiliza a biblioteca `@testing-library/react` e `Jest` para renderizar o componente e validar os elementos visíveis na interface do usuário, garantindo que todos os elementos essenciais estejam presentes e configurados corretamente. Além disso, o mock de funções de API e de gráficos foi implementado para isolar o componente e testar seu comportamento de forma independente.
-### Casos de Teste
+## Casos de Teste
-#### Renderização do Componente Filtro
+### 1. Renderização e Interação com o Componente Filtro
-1. **Objetivo**: Verificar se o componente `Filtro` é renderizado corretamente com todos os seus elementos principais.
-2. **Teste**:
- - Renderizar o componente `Filtro`.
- - Verificar se o título com o texto "Pesquise por cidade, período e tema" está presente no documento.
- - Verificar se o seletor de cidades está presente com a opção "Selecione uma cidade".
+**Objetivo:** Verificar se o componente `Filtro` é renderizado corretamente, com todos os seus elementos principais, e interage corretamente com os selecionadores de data.
-#### Manipulação da Seleção de Cidade
+**Teste:**
-1. **Objetivo**: Garantir que a seleção de uma cidade no campo de entrada é manipulada corretamente.
-2. **Teste**:
- - Renderizar o componente `Filtro`.
- - Simular a seleção de uma cidade do seletor de cidades.
- - Verificar se a cidade selecionada é refletida no campo de entrada.
-
-#### Manipulação de Seleção de Datas Inicial e Final
-
-1. **Objetivo**: Testar a funcionalidade de seleção de datas e garantir que as datas inicial e final são manipuladas corretamente.
-2. **Teste**:
- - Renderizar o componente `Filtro`.
- - Simular a seleção de uma data inicial com o valor "01 / 2023".
- - Simular a seleção de uma data final com o valor "12 / 2023".
- - Verificar se os campos de entrada para "Data Inicial" e "Data final" contêm os valores selecionados.
-
-#### Verificação dos Gráficos
-
-1. **Objetivo**: Garantir que os gráficos são renderizados corretamente após a seleção de dados.
-2. **Teste**:
- - Renderizar o componente `Filtro`.
- - Verificar se os gráficos para "Valor Empenhado", "Valor Liquidado" e "Valor Pago" estão presentes no documento.
- - Verificar se o número de gráficos renderizados corresponde ao esperado (três gráficos).
+- Renderizar o componente `Filtro`.
+- Verificar se o título com o texto "Pesquise por período" está presente no documento.
+- Verificar se os campos de data inicial e final estão presentes.
+- Simular a seleção de uma data inicial com o valor "01/2023".
+- Simular a seleção de uma data final com o valor "12/2023".
+- Verificar se a função `fettchYearAndMonthTender` foi chamada após a seleção das datas.
+- Verificar se os valores totais ("Total Empenhado", "Total Liquidado", "Total Pago") são exibidos no documento.
+- Verificar se os gráficos são renderizados corretamente, garantindo que o mock de gráficos está presente e o número de gráficos renderizados corresponde ao esperado (dois gráficos).
## Considerações Finais
-Esses testes garantem que o componente `Filtro` está sendo renderizado corretamente e que os elementos principais estão presentes com o conteúdo esperado. Além disso, verificam se as funcionalidades básicas, como a manipulação de entradas e a seleção de datas, estão funcionando conforme o esperado. Estes testes são essenciais para assegurar que o componente se comporta conforme projetado em diversos cenários de uso.
+Os testes garantem que o componente `Filtro` é renderizado corretamente, com os elementos essenciais presentes, e que as funcionalidades básicas, como a manipulação das seleções de data e a exibição de gráficos, estão funcionando conforme o esperado. A utilização de mocks para funções de API e gráficos assegura que o teste seja executado de maneira isolada, focando exclusivamente no comportamento do componente.
diff --git a/front/package-lock.json b/front/package-lock.json
index f8a3487..bc5159d 100644
--- a/front/package-lock.json
+++ b/front/package-lock.json
@@ -10542,9 +10542,10 @@
}
},
"node_modules/micromatch": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
- "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "license": "MIT",
"dependencies": {
"braces": "^3.0.3",
"picomatch": "^2.3.1"
diff --git a/front/src/app/globals.css b/front/src/app/globals.css
index 745952f..cd891e5 100644
--- a/front/src/app/globals.css
+++ b/front/src/app/globals.css
@@ -59,6 +59,23 @@
color: #FFFFFF; /* Texto branco */
}
+/* Estilo para linhas do gráfico */
+.high-contrast .chart-line-emp-enhanced,
+.high-contrast .chart-line-liquidated,
+.high-contrast .chart-line-paid {
+ stroke: #FFFFFF; /* Linha branca para manter contraste */
+}
+
+/* Estilo para a legenda do gráfico */
+.high-contrast .chart-legend-item {
+ color: #FFD700; /* Cor dourada para itens da legenda */
+}
+
+/* Estilo para explicações do gráfico */
+.high-contrast .chart-explanation {
+ color: #FFD700; /* Cor dourada para explicações */
+}
+
/* Estilo para aumentar o tamanho da fonte */
.font-lg {
font-size: 1.25rem; /* Tamanho da fonte aumentado */
@@ -68,3 +85,22 @@
.font-original {
font-size: 1rem; /* Tamanho da fonte original */
}
+
+/* Força a aplicação da cor vermelha */
+.swiper-button-next,
+.swiper-button-prev {
+ color: #ED1C24 !important;
+}
+/* styles.css or a relevant CSS file */
+.legend-color-red {
+ background-color: #ED1C24 !important;
+ }
+
+ .legend-color-orange {
+ background-color: #F19C28 !important;
+ }
+
+ .legend-color-green {
+ background-color: #2FB551 !important;
+ }
+
\ No newline at end of file
diff --git a/front/src/app/page.tsx b/front/src/app/page.tsx
index 861a558..2eb0581 100644
--- a/front/src/app/page.tsx
+++ b/front/src/app/page.tsx
@@ -1,25 +1,23 @@
"use client";
-import { Search, MapPin, CalendarClock, MoveRight } from "lucide-react";
+import { Search, MapPin, CalendarClock, MoveRight } from "lucide-react";
import Busca from "@/components/Busca";
import dynamic from 'next/dynamic';
import Slider from "@/components/Slider";
import Pilares from "@/components/Pilares";
-
-const Grafico = dynamic(() => import('@/components/Grafico'), { ssr: false });
+import Mensagem from "@/components/Mensagem";
+import Grafico from '@/components/Grafico';
export default function Home() {
return (
- Veja os dados para cada município do Estado de
Minas Gerais
-
+ Veja os dados para cada município do Estado de
Minas Gerais
+