From ec5f365aefea07ddee902478e1271065b7a6fff3 Mon Sep 17 00:00:00 2001 From: LipeAKugel Date: Mon, 11 Dec 2023 12:07:40 -0300 Subject: [PATCH 01/12] :bug: (#210) Corrigindo erro de login --- public/Log.png | Bin 25885 -> 7451 bytes public/favicon.ico | Bin 15406 -> 64562 bytes public/logo--.png | Bin 23369 -> 7451 bytes src/api/api.js | 4 ++-- src/pages/Login.js | 18 +++++++++++------- 5 files changed, 13 insertions(+), 9 deletions(-) diff --git a/public/Log.png b/public/Log.png index 601824231807f57935e55b3c319d62dda95e1c24..331de99fc179335f133474dd57c70702f13b28e0 100644 GIT binary patch literal 7451 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 Z;Xi{qy_{8z_%Hwf002ovPDHLkV1nO5iA(?h literal 25885 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 C(9j+L literal 15406 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 G1pXKBQ<3BV diff --git a/public/logo--.png b/public/logo--.png index 9b13550e8ad0c7f0dceaf737f89b4826ba36ab0c..331de99fc179335f133474dd57c70702f13b28e0 100644 GIT binary patch literal 7451 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 Z;Xi{qy_{8z_%Hwf002ovPDHLkV1nO5iA(?h literal 23369 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 Date: Mon, 11 Dec 2023 19:21:49 -0300 Subject: [PATCH 02/12] :racehorse: (#210) Corrigindo RegisterPrinter e RegisterPattern --- public/index.html | 2 +- src/components/forms/EditPatternForm.js | 4 +- src/components/forms/PrinterPatternForm.js | 6 +-- src/components/navbar/Navbar.js | 2 +- src/components/utils/YupSchema.js | 4 +- src/style/components/printerPatternForm.css | 49 ++++++++++--------- src/style/components/registerPrinterForms.css | 14 ++---- 7 files changed, 39 insertions(+), 42 deletions(-) diff --git a/public/index.html b/public/index.html index 21616c14..1b907e30 100644 --- a/public/index.html +++ b/public/index.html @@ -28,7 +28,7 @@ work correctly both with client-side routing and a non-root public URL. Learn how to configure a non-root public URL by running `npm run build`. --> - PrintGO + PrintGo diff --git a/src/components/forms/EditPatternForm.js b/src/components/forms/EditPatternForm.js index fa7c9b84..4786406d 100644 --- a/src/components/forms/EditPatternForm.js +++ b/src/components/forms/EditPatternForm.js @@ -3,7 +3,7 @@ import React, { useEffect } from "react"; import { useForm } from "react-hook-form"; import "../../style/components/printerPatternForm.css"; import elipse6 from "../../assets/elipse6.svg"; -import { getRegisterPrinterSchema } from "../utils/YupSchema"; +import { getRegisterPatternSchema } from "../utils/YupSchema"; const fieldLabels = { tipo: "Tipo", @@ -46,7 +46,7 @@ const testObject = { export default function EditPatternForm() { - const registerPrinterSchema = getRegisterPrinterSchema(fieldLabels); + const registerPrinterSchema = getRegisterPatternSchema(fieldLabels); const { register, handleSubmit, diff --git a/src/components/forms/PrinterPatternForm.js b/src/components/forms/PrinterPatternForm.js index eb1bdf1d..6aa3ea5d 100644 --- a/src/components/forms/PrinterPatternForm.js +++ b/src/components/forms/PrinterPatternForm.js @@ -3,7 +3,7 @@ import React from "react"; import { useForm } from "react-hook-form"; import "../../style/components/printerPatternForm.css"; import elipse6 from "../../assets/elipse6.svg"; -import { getRegisterPrinterSchema } from "../utils/YupSchema"; +import { getRegisterPatternSchema } from "../utils/YupSchema"; import { ReloadIcon } from "@radix-ui/react-icons"; import { createPadraoImpressora } from "../../services/printerService"; import { toast } from "react-toastify"; @@ -29,7 +29,7 @@ const fieldLabels = { export default function PrinterPatternForm() { - const registerPrinterSchema = getRegisterPrinterSchema(fieldLabels); + const registerPrinterSchema = getRegisterPatternSchema(fieldLabels); const { register, handleSubmit, @@ -93,7 +93,7 @@ export default function PrinterPatternForm() {
-
); }; -export default Navbar; \ No newline at end of file +export default Navbar; diff --git a/src/components/utils/YupSchema.js b/src/components/utils/YupSchema.js index 6834807d..92e5457c 100644 --- a/src/components/utils/YupSchema.js +++ b/src/components/utils/YupSchema.js @@ -17,7 +17,7 @@ export const getPrinterSchema = (printerFieldLabels) => { }; -export const getRegisterPrinterSchema = (fieldLabels) => { +export const getRegisterPatternSchema = (fieldLabels) => { return yup.object().shape({ tipo: yup.string().required(`${fieldLabels.tipo} é obrigatório`), @@ -85,4 +85,4 @@ export const getEditUserSchema = (userFiledLabels) => { isAdmin: yup.boolean(), isLocadora: yup.boolean(), }); -}; \ No newline at end of file +}; diff --git a/src/style/components/printerPatternForm.css b/src/style/components/printerPatternForm.css index ef17e979..3ba9b3f9 100644 --- a/src/style/components/printerPatternForm.css +++ b/src/style/components/printerPatternForm.css @@ -2,36 +2,39 @@ background-color: #ffffff; border-radius: 10px; display: flex; - width: 48vw; - height: 96vh; - justify-content: center; - align-items: center; + min-width: 38vw; + min-height: fit-content; + justify-content: start; + align-items: start; flex-direction: column; box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.5); - margin-top: 1.5rem; + margin-top: 10vh; margin-bottom: 1rem; margin-right: 50vw; + padding-top: 20px; + padding-bottom: 20px; } #printer-pattern-fields { - height: 23vh; - width: 45vw; + height: fit-content; + width: 100%; + margin-bottom: 20px; display: flex; flex-direction: column; justify-content: space-around; font-size: 14px; + gap: 10px; } #printer-pattern-form-header { color: #003366; margin: 0; - width: 48vw; + width: 100%; text-align: center; } #printer-pattern-input-group { - height: 82vh; - width: 48vw; + width: 100%; display: flex; flex-wrap: wrap; justify-content: center; @@ -43,25 +46,23 @@ display: flex; width: 250px; flex-direction: column; - padding: 0 10px; + padding: 0px; box-sizing: border-box; } #printer-pattern-snmp-fields { - height: 55vh; - width: 45vw; + width: 100%; display: flex; flex-direction: column; justify-content: space-around; + margin-bottom: 20px } + #snmp-fields-input-line { display: flex; - width: 45vw; - + width: 100%; justify-content: space-between; -} -#snmp-fields-input-line label { - margin-left: 0.3rem; + gap: 10vw; } #snmp-fields-input-line span { @@ -70,13 +71,12 @@ #printer-pattern-input-box { flex: 1; - min-width: 100px; /* Largura mínima para cada input */ + width: 100%; display: flex; - width: 250px; flex-direction: column; align-items: center; justify-content: space-around; - padding: 0 10px; + padding: 0 20px; box-sizing: border-box; } @@ -85,6 +85,7 @@ } #printer-pattern-input-box label { + font-size: 16px; color: #003366; display: block; } @@ -123,14 +124,14 @@ } #printer-pattern-buttons { - height: 8vh; + height: fit-content; display: flex; align-items: center; justify-content: space-around; } .printer-pattern-form-button { - height: 5vh; + height: 40px; width: 12vw; text-align: center; color: #ffffff; @@ -157,7 +158,7 @@ background-color: #006633; } -#register-bnt:disabled { +#registrar-bnt:disabled { background-color: #6c6c6c !important; opacity: 65%; cursor: not-allowed; diff --git a/src/style/components/registerPrinterForms.css b/src/style/components/registerPrinterForms.css index 6e41951b..b0f345c0 100644 --- a/src/style/components/registerPrinterForms.css +++ b/src/style/components/registerPrinterForms.css @@ -92,7 +92,9 @@ #buttons { display: flex; + justify-content: space-around; align-items: center; + width: 100%; } .form-button:disabled { @@ -118,9 +120,9 @@ filter: brightness(1.8); } -#cancel-bnt { - background-color: #003366; - transition: background-color 0.3s, filter 0.3s; +#cancelar-bnt a { + text-decoration: none; + color: #ffffff; } #registrar-bnt.form-button { @@ -130,12 +132,6 @@ background-color: #006633; } -#register-bnt:disabled { - background-color: #006633 !important; - opacity: 65%; - cursor: not-allowed; -} - #input-description { color: #6c6c6c; font-size: 10px; From ff4b41e00380013459ffcab08636e8a7f4082dd8 Mon Sep 17 00:00:00 2001 From: LipeAKugel Date: Wed, 13 Dec 2023 14:00:39 -0300 Subject: [PATCH 03/12] =?UTF-8?q?:bug:=20(#210)=20Corrigindo=20posi=C3=A7?= =?UTF-8?q?=C3=A3o=20da=20engine=20na=20lista=20de=20padr=C3=B5es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/style/pages/patternList.css | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/style/pages/patternList.css b/src/style/pages/patternList.css index 8eb0beaf..4e12acd6 100644 --- a/src/style/pages/patternList.css +++ b/src/style/pages/patternList.css @@ -142,13 +142,12 @@ .patternlist-engine { display: flex; flex-direction: column; - height: 4vh; + height: fit-content; width: 4vw; margin-right: 40px; cursor: pointer; } - .patternlist-pattern-dropdown { display: none; position: absolute; From 1dcd0f03971f66d6a7284a03757c0c88efda4d59 Mon Sep 17 00:00:00 2001 From: LipeAKugel Date: Wed, 13 Dec 2023 14:37:52 -0300 Subject: [PATCH 04/12] =?UTF-8?q?:bug:=20(#210)=20Corrigindo=20bot=C3=B5es?= =?UTF-8?q?=20do=20cadastro=20e=20edi=C3=A7=C3=A3o=20de=20padr=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/forms/EditPatternForm.js | 11 +++++------ src/components/forms/PrinterPatternForm.js | 7 ++++++- src/style/components/printerPatternForm.css | 2 ++ 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/components/forms/EditPatternForm.js b/src/components/forms/EditPatternForm.js index 4786406d..29101f80 100644 --- a/src/components/forms/EditPatternForm.js +++ b/src/components/forms/EditPatternForm.js @@ -1,6 +1,7 @@ import { yupResolver } from "@hookform/resolvers/yup"; import React, { useEffect } from "react"; import { useForm } from "react-hook-form"; +import { Link } from 'react-router-dom'; import "../../style/components/printerPatternForm.css"; import elipse6 from "../../assets/elipse6.svg"; import { getRegisterPatternSchema } from "../utils/YupSchema"; @@ -135,12 +136,10 @@ export default function EditPatternForm() {
-
- + diff --git a/src/components/forms/EditPrinterForm.js b/src/components/forms/EditPrinterForm.js index 1fbe44f4..aea0a90d 100644 --- a/src/components/forms/EditPrinterForm.js +++ b/src/components/forms/EditPrinterForm.js @@ -29,7 +29,6 @@ const fieldLabels = { export default function EditPrinterForm() { const { printer } = useParams(); - console.log(printer); const navigate = useNavigate(); const printerObject = JSON.parse(atob(printer)); diff --git a/src/style/components/printerPatternForm.css b/src/style/components/printerPatternForm.css index d2232b96..358252e9 100644 --- a/src/style/components/printerPatternForm.css +++ b/src/style/components/printerPatternForm.css @@ -3,6 +3,7 @@ border-radius: 10px; display: flex; min-width: 38vw; + width: 38vw; min-height: fit-content; justify-content: start; align-items: start; @@ -63,11 +64,11 @@ width: 100%; justify-content: space-between; align-items: center; - gap: 10vw; } -#snmp-fields-input-line span { - display: none; +#snmp-fields-input-line label{ + display: flex; + width: 380px; } #printer-pattern-input-box { @@ -88,7 +89,6 @@ #printer-pattern-input-box label { font-size: 16px; color: #003366; - display: block; } #printer-pattern-input-box span { From 0bcdaba32f75278bb2ef0ac89f2a0b6512ce9cc5 Mon Sep 17 00:00:00 2001 From: AntonioRangelC Date: Wed, 13 Dec 2023 22:10:30 -0300 Subject: [PATCH 07/12] =?UTF-8?q?:bulb:(#210):=20Adicionando=20testes=20pa?= =?UTF-8?q?ra=20edi=C3=A7=C3=A3o=20de=20padr=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: LipeAKugel Co-authored-by: vitordiniz25 --- src/components/forms/EditPatternForm.js | 4 +- src/tests/components/EditPatternForm.test.js | 141 ++++++++++++++++++- src/tests/components/EditPrinterForm.test.js | 11 +- 3 files changed, 147 insertions(+), 9 deletions(-) diff --git a/src/components/forms/EditPatternForm.js b/src/components/forms/EditPatternForm.js index 19f4b305..13bad824 100644 --- a/src/components/forms/EditPatternForm.js +++ b/src/components/forms/EditPatternForm.js @@ -32,6 +32,7 @@ export default function EditPatternForm() { const { padrao } = useParams(); const pattern = JSON.parse(atob(padrao)); + console.log(pattern); const navigate = useNavigate(); const registerPrinterSchema = getRegisterPatternSchema(fieldLabels); @@ -41,7 +42,6 @@ export default function EditPatternForm() { handleSubmit, setValue, formState: { errors, isSubmitting }, - reset, } = useForm({ resolver: yupResolver(registerPrinterSchema), mode: "onSubmit", @@ -69,7 +69,7 @@ export default function EditPatternForm() { }, [setValue]); return ( -
+

Edição de padrão de impressora

diff --git a/src/tests/components/EditPatternForm.test.js b/src/tests/components/EditPatternForm.test.js index ca376522..e22fd3c8 100644 --- a/src/tests/components/EditPatternForm.test.js +++ b/src/tests/components/EditPatternForm.test.js @@ -1,17 +1,148 @@ import React from 'react'; -import { render } from '@testing-library/react'; +import { render as rtlRender, fireEvent, waitFor, screen } from '@testing-library/react'; import EditPatternForm from '../../components/forms/EditPatternForm'; import '@testing-library/jest-dom/extend-expect'; +import { getPadrao, editPadrao } from '../../services/printerService'; +import { BrowserRouter as Router, useNavigate, useParams } from 'react-router-dom'; +import * as router from 'react-router-dom'; jest.mock('../../api/api', () => ({ - getLotacoes: jest.fn(), - createUser: jest.fn(), + getPadrao: jest.fn(), + createUser: jest.fn(), })); + +function render(ui, { route = '/', ...renderOptions } = {}) { + window.history.pushState({}, 'Test page', route); + + function Wrapper({ children }) { + return {children}; + } + + return rtlRender(ui, { wrapper: Wrapper, ...renderOptions }); +} +const padrao = { + tipo: "Tipo", + marca: "Marca", + modelo: "Modelo", + modeloImpressora: "Modelo da impressora", + numeroSerie: "Número de série", + versaoFirmware: "Versão do Firmware", + tempoAtivoSistema: "Tempo ativo do sistema", + totalDigitalizacoes: "Total de digitalizações", + totalCopiasPB: "Total de cópias P&B", + totalCopiasColoridas: "Total de cópias coloridas", + totalImpressoesPb: "Total de impressões P&B", + totalImpressoesColoridas: "Total de impressões coloridas", + totalGeral: "Total geral", + enderecoIp: "Endereço IP", +} + +jest.mock('../../services/printerService', () => ({ + getPadrao: jest.fn(), + editPadrao: jest.fn() + +})) + +jest.mock('react-router-dom', () => ({ + ...jest.requireActual('react-router-dom'), + useNavigate: jest.fn(), + useParams: jest.fn(), +})); + +const padraoHash = btoa(JSON.stringify(padrao)); + describe('EditPatternForm', () => { - it('should render without crashing', () => { - render(); + + beforeEach(() => { + useParams.mockReturnValue({padrao: padraoHash}); + getPadrao.mockResolvedValue({ + type: 'success', + data: padrao }); + + useParams.mockReturnValue( + {id: "clprc9gem0001y06nguit2ikt"} + ); + router.useNavigate.mockImplementation(jest.requireActual('react-router-dom').useNavigate); + }); + + afterEach(() => { + jest.resetAllMocks(); + }); + + it('should render without crashing', () => { + useParams.mockReturnValue({padrao: padraoHash}); + render(); + + expect(screen.getByTestId("printer-pattern-signup-card")).toBeInTheDocument() + }); + + it('should render without crashing', async() => { + useParams.mockReturnValue({padrao: padraoHash}); + getPadrao.mockResolvedValue({ + type: 'success', + data: padrao + }); + + render(); + + + await waitFor(() => { + + expect(screen.getByPlaceholderText("Digite tipo")).toHaveValue("Tipo") + + }); + }); + + + it('should submit', async() => { + useParams.mockReturnValue({padrao: padraoHash}); + + editPadrao.mockResolvedValue({type: 'success'}); + + + getPadrao.mockResolvedValue({ + type: 'success', + data: padrao + }); + + + render(); + + const modeloInput = screen.getByPlaceholderText("Digite modelo"); + fireEvent.change(modeloInput, { target: { value: 'Modeloteste' } }); + + const submitButton = screen.getByText("SALVAR"); + fireEvent.submit(submitButton); + + await waitFor(() => { + //expect(window.location.pathname).toBe("/padroescadastrados"); + expect(editPadrao).toHaveBeenCalled() + expect(editPadrao).toHaveBeenCalledWith({ + tipo: "Tipo", + marca: "Marca", + modelo: "Modeloteste", + modeloImpressora: "Modelo da impressora", + numeroSerie: "Número de série", + versaoFirmware: "Versão do Firmware", + tempoAtivoSistema: "Tempo ativo do sistema", + totalDigitalizacoes: "Total de digitalizações", + totalCopiasPB: "Total de cópias P&B", + totalCopiasColoridas: "Total de cópias coloridas", + totalImpressoesPb: "Total de impressões P&B", + totalImpressoesColoridas: "Total de impressões coloridas", + totalGeral: "Total geral", + enderecoIp: "Endereço IP", + }); + + + + }); + }); + }); + + \ No newline at end of file diff --git a/src/tests/components/EditPrinterForm.test.js b/src/tests/components/EditPrinterForm.test.js index 4b127398..e8d8a900 100644 --- a/src/tests/components/EditPrinterForm.test.js +++ b/src/tests/components/EditPrinterForm.test.js @@ -99,10 +99,17 @@ describe('EditPrinterForm', () => { jest.clearAllMocks(); }); - it('should render page and load printer data', () => { + it('should render page and load printer data', async () => { render(); + + const submitButton = screen.getByText("EDITAR"); + fireEvent.click(submitButton); + + console.log(screen.getByPlaceholderText('Número de Série').value); - expect(screen.getByPlaceholderText('Número de Série').value).toBe(""); + await waitFor(() => { + expect(screen.getByPlaceholderText('Número de Série').value).toBe("hp-132-a789"); + }) }); }) From bf19d9d535d5dab12a5c3201796b75398922eaad Mon Sep 17 00:00:00 2001 From: AntonioRangelC Date: Wed, 13 Dec 2023 22:24:55 -0300 Subject: [PATCH 08/12] :repeat:(#210): Ajustando teste de login Co-authored-by: LipeAKugel Co-authored-by: vitordiniz25 --- src/tests/pages/Login.test.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/tests/pages/Login.test.js b/src/tests/pages/Login.test.js index f9809f06..2d0b0a0f 100644 --- a/src/tests/pages/Login.test.js +++ b/src/tests/pages/Login.test.js @@ -30,6 +30,7 @@ function render(ui, { route = '/', ...renderOptions } = {}) { describe('Login Component', () => { beforeEach(() => { router.useNavigate.mockImplementation(jest.requireActual('react-router-dom').useNavigate); + jest.clearAllMocks(); }); test('...', () => { @@ -84,13 +85,13 @@ describe('Login Component', () => { fireEvent.submit(screen.getByText('LOGIN')); await waitFor(() => { - expect(screen.getByText('E-mail ou senha incorreto.')).toBeInTheDocument(); + expect(screen.getByText('Não foi possível fazer o login')).toBeInTheDocument(); }); }); it('should make API call with valid credentials', async () => { const mockLoginApi = jest.spyOn(api, 'login'); - mockLoginApi.mockResolvedValue(token); + mockLoginApi.mockResolvedValue({ type: 'success', token: token}); const mockNavigate = jest.fn(); useNavigate.mockImplementation(() => mockNavigate); @@ -98,12 +99,12 @@ describe('Login Component', () => { // Simular o envio do formulário com credenciais válidas render(); fireEvent.input(screen.getByPlaceholderText('email@email.com'), { target: { value: 'teste@teste.com' } }); - fireEvent.input(screen.getByPlaceholderText('************'), { target: { value: 'senha123' } }); + fireEvent.input(screen.getByPlaceholderText('************'), { target: { value: 'Senha123@' } }); fireEvent.submit(screen.getByText('LOGIN')); await waitFor(() => { // Verificar se a função da API foi chamada com as credenciais corretas - expect(mockLoginApi).toHaveBeenCalledWith('teste@teste.com', 'senha123'); + expect(mockLoginApi).toHaveBeenCalledWith('teste@teste.com', 'Senha123@'); // Verificar se a navegação ocorreu após o login bem-sucedido expect(mockNavigate).toHaveBeenCalledWith('/'); From 40fa47bc42782af18abc3d7aaaf7f3fd90aba78c Mon Sep 17 00:00:00 2001 From: AntonioRangelC Date: Thu, 14 Dec 2023 00:52:20 -0300 Subject: [PATCH 09/12] =?UTF-8?q?:bulb:(#210):=20Adicionando=20testes=20de?= =?UTF-8?q?=20Edi=C3=A7=C3=A3o=20de=20Impressora?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: LipeAKugel Co-authored-by: vitordiniz25 --- src/components/forms/EditPrinterForm.js | 6 +-- src/tests/components/EditPrinterForm.test.js | 49 +++++++++++++++++--- 2 files changed, 46 insertions(+), 9 deletions(-) diff --git a/src/components/forms/EditPrinterForm.js b/src/components/forms/EditPrinterForm.js index aea0a90d..04f91929 100644 --- a/src/components/forms/EditPrinterForm.js +++ b/src/components/forms/EditPrinterForm.js @@ -131,7 +131,7 @@ export default function EditPrinterForm() { * {key === "padrao_id" ? ( - setPadrao(e.target.value)} data-testid="padrao-select"> {padroes.map(option => (