From 247ebc5c48e20e50f3a74f1147f4db85f19ff24d Mon Sep 17 00:00:00 2001 From: Mikhail Date: Wed, 22 Feb 2023 14:21:38 +0000 Subject: [PATCH 1/6] Update deployments/staging/docker-compose.yaml --- deployments/staging/docker-compose.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/deployments/staging/docker-compose.yaml b/deployments/staging/docker-compose.yaml index 6a9181e..0d53f7c 100644 --- a/deployments/staging/docker-compose.yaml +++ b/deployments/staging/docker-compose.yaml @@ -6,6 +6,7 @@ services: networks: - penahub_frontend hostname: hub + tty: true networks: penahub_frontend: external: true From ee168cc302a9097e9b6108d87d85862a0e628e6b Mon Sep 17 00:00:00 2001 From: Skeris Date: Fri, 24 Feb 2023 22:48:57 +0300 Subject: [PATCH 2/6] ci\cd deployment fixes --- deployments/staging/docker-compose.yaml | 7 +- .../Content/Tariffs/Contractor/index.tsx | 81 ++++++++++++++++ .../dashboard/Content/Tariffs/Quiz/index.tsx | 81 ++++++++++++++++ .../Content/Tariffs/Templater/index.tsx | 95 +++++++++++++++++++ 4 files changed, 261 insertions(+), 3 deletions(-) create mode 100644 src/pages/dashboard/Content/Tariffs/Contractor/index.tsx create mode 100644 src/pages/dashboard/Content/Tariffs/Quiz/index.tsx create mode 100644 src/pages/dashboard/Content/Tariffs/Templater/index.tsx diff --git a/deployments/staging/docker-compose.yaml b/deployments/staging/docker-compose.yaml index 0d53f7c..ad7f300 100644 --- a/deployments/staging/docker-compose.yaml +++ b/deployments/staging/docker-compose.yaml @@ -1,12 +1,13 @@ +version: "3.3" services: admin: container_name: admin_front restart: unless-stopped image: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID networks: - - penahub_frontend - hostname: hub + - marketplace_penahub_frontend + hostname: admin tty: true networks: - penahub_frontend: + marketplace_penahub_frontend: external: true diff --git a/src/pages/dashboard/Content/Tariffs/Contractor/index.tsx b/src/pages/dashboard/Content/Tariffs/Contractor/index.tsx new file mode 100644 index 0000000..2a0e466 --- /dev/null +++ b/src/pages/dashboard/Content/Tariffs/Contractor/index.tsx @@ -0,0 +1,81 @@ +import * as React from "react"; +import { Box, Typography, Button } from "@mui/material"; +import theme from "../../../../../theme"; + + +export interface MWProps { + openModal: (type:number, num: number) => void +} + +const Contractor: React.FC = ({ openModal }) => { + return ( + + + Сокращатель ссылок + + + + + + + + + ); +} + + +export default Contractor; \ No newline at end of file diff --git a/src/pages/dashboard/Content/Tariffs/Quiz/index.tsx b/src/pages/dashboard/Content/Tariffs/Quiz/index.tsx new file mode 100644 index 0000000..30ccc25 --- /dev/null +++ b/src/pages/dashboard/Content/Tariffs/Quiz/index.tsx @@ -0,0 +1,81 @@ +import * as React from "react"; +import { Box, Typography, Button } from "@mui/material"; +import theme from "../../../../../theme"; + + +export interface MWProps { + openModal: (type:number, num: number) => void +} + +const Quiz: React.FC = ({ openModal }) => { + return ( + + + Опросник + + + + + + + + + ); +} + + +export default Quiz; \ No newline at end of file diff --git a/src/pages/dashboard/Content/Tariffs/Templater/index.tsx b/src/pages/dashboard/Content/Tariffs/Templater/index.tsx new file mode 100644 index 0000000..4a5b9e7 --- /dev/null +++ b/src/pages/dashboard/Content/Tariffs/Templater/index.tsx @@ -0,0 +1,95 @@ +import * as React from "react"; +import { Box, Typography, Button } from "@mui/material"; +import theme from "../../../../../theme"; + + +export interface MWProps { + openModal: (type:number, num: number) => void +} + +const Templater: React.FC = ({ openModal }) => { + return ( + + + Шаблонизатор документов + + + + + + + + + + ); +} + + +export default Templater; \ No newline at end of file From 9804121ecbdf05a04730e4e748a40ec5c4fbbafe Mon Sep 17 00:00:00 2001 From: beliberda Date: Wed, 1 Mar 2023 04:54:19 +1000 Subject: [PATCH 3/6] =?UTF-8?q?=D0=9D=D0=B0=D1=87=D0=B0=D0=BB=D0=BE=20?= =?UTF-8?q?=D1=82=D0=B5=D1=81=D1=82=D0=B0=20=D0=BB=D0=B8=D0=BD=D0=BA=D0=BE?= =?UTF-8?q?=D0=B2=20=D0=BC=D0=B5=D0=BD=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + src/__tests__/enter.js | 18 +++ src/__tests__/menu-link-test.js | 41 ++++++ src/pages/dashboard/Menu/index.tsx | 20 +-- yarn.lock | 204 +++++++++++++++++++++++++++-- 5 files changed, 266 insertions(+), 18 deletions(-) create mode 100644 src/__tests__/enter.js create mode 100644 src/__tests__/menu-link-test.js diff --git a/package.json b/package.json index 81bfdde..b372045 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "dayjs": "^1.11.5", "moment": "^2.29.4", "numeral": "^2.0.6", + "puppeteer": "^19.7.2", "react": "^18.2.0", "react-dom": "^18.2.0", "react-numeral": "^1.1.1", diff --git a/src/__tests__/enter.js b/src/__tests__/enter.js new file mode 100644 index 0000000..0842c00 --- /dev/null +++ b/src/__tests__/enter.js @@ -0,0 +1,18 @@ +const puppeteer = require('puppeteer'); +const url = "http://localhost:3000/"; +async function enter(params){ + const browser = await puppeteer.launch({headless:false}); + const page = await browser.newPage(); + + await page.goto(url); + + // Set screen size + await page.setViewport({width: 1080, height: 1024}); + + + // await browser.close(); +}; +module.export = { + enter +} + diff --git a/src/__tests__/menu-link-test.js b/src/__tests__/menu-link-test.js new file mode 100644 index 0000000..f151dbe --- /dev/null +++ b/src/__tests__/menu-link-test.js @@ -0,0 +1,41 @@ + const puppeteer = require('puppeteer'); +const url = "http://localhost:3000/users"; +(async ()=> { + const browser = await puppeteer.launch({headless:true}); + const page = await browser.newPage(); + + await page.goto(url); + + // Set screen size + await page.setViewport({width: 1080, height: 1024}); + +// Ждем загрузки менюшек + await page.waitForSelector('.menu') + + + // Берем все ссылки с кнопок, у которых есть класс menu и вставляем в массив + let menuLink = await page.evaluate(()=>{ + let menuArray = document.querySelectorAll('.menu') + let Urls = Object.values(menuArray).map( + menuItem => ( + menuItem.href + ) + ) + return Urls + }) + console.log(menuLink); + + + const btn = await page.waitForSelector('.menu-support') + await btn.click() + + let currentURL = await page.url(); + console.log('Текущая ссылка',currentURL); + if (currentURL === menuLink[5]) { + console.log('true'); + } + + + + // await browser.close(); +})(); \ No newline at end of file diff --git a/src/pages/dashboard/Menu/index.tsx b/src/pages/dashboard/Menu/index.tsx index 0a8e205..6b6a897 100644 --- a/src/pages/dashboard/Menu/index.tsx +++ b/src/pages/dashboard/Menu/index.tsx @@ -101,15 +101,15 @@ const Drawer = styled(MuiDrawer, { shouldForwardProp: (prop) => prop !== 'open' }), ); -const links: {path: string; element: JSX.Element; title: string} [] =[ - {path: '/users', element: , title: 'Информация о проекте'}, - {path: '/entities', element: , title: 'Юридические лица'}, - {path: '/tariffs', element: , title: 'Шаблонизатор документов'}, - {path: '/discounts', element: , title: 'Скидки'}, - {path: '/promocode', element: , title: 'Промокод'}, - {path: '/kkk', element: , title: 'Настройки'}, - {path: '/jjj', element: , title: 'Камера' }, - {path: '/support', element: , title: 'Служба поддержки'}, +const links: {path: string; element: JSX.Element; title: string, className: string} [] =[ + {path: '/users', element: , title: 'Информация о проекте', className:'menu menu-users'}, + {path: '/entities', element: , title: 'Юридические лица', className:'menu menu-entities'}, + {path: '/tariffs', element: , title: 'Шаблонизатор документов', className:'menu menu-tariffs'}, + {path: '/discounts', element: , title: 'Скидки', className:'menu menu-discounts'}, + {path: '/promocode', element: , title: 'Промокод', className:'menu menu-promocode'}, + {path: '/kkk', element: , title: 'Настройки', className:'menu-settings'}, + {path: '/jjj', element: , title: 'Камера', className:'menu-camera'}, + {path: '/support', element: , title: 'Служба поддержки', className:'menu menu-support'}, ] @@ -122,7 +122,7 @@ const Navigation = (props:any) => { > {links.map((e, i) => ( - + =0.5 0", mkdirp@~0.5.1: version "0.5.6" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" @@ -7271,6 +7347,13 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" +node-fetch@2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + node-fetch@^1.0.1: version "1.7.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" @@ -7445,7 +7528,7 @@ on-headers@~1.0.2: resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== -once@^1.3.0, once@^1.4.0: +once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== @@ -7631,6 +7714,11 @@ path@^0.12.7: process "^0.11.1" util "^0.10.3" +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== + performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" @@ -8298,6 +8386,11 @@ process@^0.11.1: resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== +progress@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + promise@^7.1.1: version "7.3.1" resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" @@ -8337,16 +8430,57 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" +proxy-from-env@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + psl@^1.1.33: version "1.9.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + punycode@^2.1.0, punycode@^2.1.1: version "2.3.0" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== +puppeteer-core@19.7.2: + version "19.7.2" + resolved "https://registry.yarnpkg.com/puppeteer-core/-/puppeteer-core-19.7.2.tgz#deee9ef915829b6a1d1a3a008625c29eeb251161" + integrity sha512-PvI+fXqgP0uGJxkyZcX51bnzjFA73MODZOAv0fSD35yR7tvbqwtMV3/Y+hxQ0AMMwzxkEebP6c7po/muqxJvmQ== + dependencies: + chromium-bidi "0.4.4" + cross-fetch "3.1.5" + debug "4.3.4" + devtools-protocol "0.0.1094867" + extract-zip "2.0.1" + https-proxy-agent "5.0.1" + proxy-from-env "1.1.0" + rimraf "3.0.2" + tar-fs "2.1.1" + unbzip2-stream "1.4.3" + ws "8.11.0" + +puppeteer@^19.7.2: + version "19.7.2" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-19.7.2.tgz#1b3ce99a093cc2f8f84dfb06f066d0757ea79d4b" + integrity sha512-4Lm7Qpe/LU95Svirei/jDLDvR5oMrl9BPGd7HMY5+Q28n+BhvKuW97gKkR+1LlI86bO8J3g8rG/Ll5kv9J1nlQ== + dependencies: + cosmiconfig "8.0.0" + https-proxy-agent "5.0.1" + progress "2.0.3" + proxy-from-env "1.1.0" + puppeteer-core "19.7.2" + q@^1.1.2: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" @@ -8837,7 +8971,7 @@ rimraf@2: dependencies: glob "^7.1.3" -rimraf@^3.0.0, rimraf@^3.0.2: +rimraf@3.0.2, rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== @@ -9527,7 +9661,17 @@ tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -tar-stream@^2.2.0: +tar-fs@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" + integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== + dependencies: + chownr "^1.1.1" + mkdirp-classic "^0.5.2" + pump "^3.0.0" + tar-stream "^2.1.4" + +tar-stream@^2.1.4, tar-stream@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== @@ -9601,6 +9745,11 @@ throat@^6.0.1: resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.2.tgz#51a3fbb5e11ae72e2cf74861ed5c8020f89f29fe" integrity sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ== +through@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + thunky@^1.0.2: version "1.1.0" resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" @@ -9659,6 +9808,11 @@ tr46@^2.1.0: dependencies: punycode "^2.1.1" +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + "traverse@>=0.3.0 <0.4": version "0.3.9" resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" @@ -9774,6 +9928,14 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" +unbzip2-stream@1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7" + integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== + dependencies: + buffer "^5.2.1" + through "^2.3.8" + unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" @@ -9984,6 +10146,11 @@ web-vitals@^2.1.4: resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-2.1.4.tgz#76563175a475a5e835264d373704f9dde718290c" integrity sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg== +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" @@ -10135,6 +10302,14 @@ whatwg-mimetype@^2.3.0: resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + whatwg-url@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" @@ -10398,6 +10573,11 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" +ws@8.11.0: + version "8.11.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" + integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== + ws@^7.4.6: version "7.5.9" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" @@ -10461,6 +10641,14 @@ yargs@^16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" From 21c952a2034f4812a5dc3383bfeaebb9db47a61c Mon Sep 17 00:00:00 2001 From: beliberda Date: Sat, 4 Mar 2023 00:35:08 +1000 Subject: [PATCH 4/6] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D1=82=D0=B5=D1=81=D1=82=20=D0=BF=D0=BE=20=D1=81?= =?UTF-8?q?=D1=81=D1=8B=D0=BB=D0=BA=D0=B0=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/__tests__/menu-link-test.js | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/src/__tests__/menu-link-test.js b/src/__tests__/menu-link-test.js index f151dbe..77b2a71 100644 --- a/src/__tests__/menu-link-test.js +++ b/src/__tests__/menu-link-test.js @@ -1,41 +1,38 @@ const puppeteer = require('puppeteer'); const url = "http://localhost:3000/users"; (async ()=> { + const urlMass = ['/users','/tariffs','/discounts','/promocode','/support', '/entities']; const browser = await puppeteer.launch({headless:true}); const page = await browser.newPage(); await page.goto(url); - // Set screen size await page.setViewport({width: 1080, height: 1024}); // Ждем загрузки менюшек await page.waitForSelector('.menu') - // Берем все ссылки с кнопок, у которых есть класс menu и вставляем в массив let menuLink = await page.evaluate(()=>{ let menuArray = document.querySelectorAll('.menu') let Urls = Object.values(menuArray).map( menuItem => ( - menuItem.href + menuItem.href.slice(menuItem.href.lastIndexOf('/')) ) ) return Urls }) - console.log(menuLink); - - - const btn = await page.waitForSelector('.menu-support') - await btn.click() - - let currentURL = await page.url(); - console.log('Текущая ссылка',currentURL); - if (currentURL === menuLink[5]) { - console.log('true'); +// Проверяем, какие ссылки есть в нашем массиве, а каких нет + for (let i = 0; i < menuLink.length; i++) { + if (urlMass.find((elem)=>elem===menuLink[i])) { + console.log('Нашлась', menuLink[i]); + } + else { + console.log('Не нашел', menuLink[i]); + } } - - - // await browser.close(); + // const btn = await page.waitForSelector('.menu-support') + // await btn.click() + await browser.close(); })(); \ No newline at end of file From 248889f6636d19c2eafeb30e510fd9dd3c16e31e Mon Sep 17 00:00:00 2001 From: beliberda Date: Tue, 7 Mar 2023 01:20:26 +1000 Subject: [PATCH 5/6] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=20jest=20=D0=B4=D0=BB=D1=8F=20=D1=82=D0=B5=D1=81=D1=82=D0=B8?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F,=20=D0=B8=D1=81?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D0=BB=20expect?= =?UTF-8?q?=20=D0=B2=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B5=20?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/__tests__/enter.js | 18 ----------- .../{menu-link-test.js => menu-link.test.js} | 32 ++++++++++--------- 2 files changed, 17 insertions(+), 33 deletions(-) delete mode 100644 src/__tests__/enter.js rename src/__tests__/{menu-link-test.js => menu-link.test.js} (62%) diff --git a/src/__tests__/enter.js b/src/__tests__/enter.js deleted file mode 100644 index 0842c00..0000000 --- a/src/__tests__/enter.js +++ /dev/null @@ -1,18 +0,0 @@ -const puppeteer = require('puppeteer'); -const url = "http://localhost:3000/"; -async function enter(params){ - const browser = await puppeteer.launch({headless:false}); - const page = await browser.newPage(); - - await page.goto(url); - - // Set screen size - await page.setViewport({width: 1080, height: 1024}); - - - // await browser.close(); -}; -module.export = { - enter -} - diff --git a/src/__tests__/menu-link-test.js b/src/__tests__/menu-link.test.js similarity index 62% rename from src/__tests__/menu-link-test.js rename to src/__tests__/menu-link.test.js index 77b2a71..2071ee8 100644 --- a/src/__tests__/menu-link-test.js +++ b/src/__tests__/menu-link.test.js @@ -1,14 +1,21 @@ - const puppeteer = require('puppeteer'); -const url = "http://localhost:3000/users"; -(async ()=> { + const puppeteer = require('puppeteer'); + const url = "http://localhost:3000/users"; const urlMass = ['/users','/tariffs','/discounts','/promocode','/support', '/entities']; - const browser = await puppeteer.launch({headless:true}); - const page = await browser.newPage(); + let browser; + let page; +describe('Тест', (() => { + beforeAll(async()=>{ + browser = await puppeteer.launch({headless:true}); + page = await browser.newPage(); await page.goto(url); // Set screen size await page.setViewport({width: 1080, height: 1024}); + }) + afterAll(() => browser.quit()); + test('Тест меню',async () => { + // Ждем загрузки менюшек await page.waitForSelector('.menu') @@ -24,15 +31,10 @@ const url = "http://localhost:3000/users"; }) // Проверяем, какие ссылки есть в нашем массиве, а каких нет for (let i = 0; i < menuLink.length; i++) { - if (urlMass.find((elem)=>elem===menuLink[i])) { - console.log('Нашлась', menuLink[i]); - } - else { - console.log('Не нашел', menuLink[i]); - } + expect(urlMass.find((elem)=>elem===menuLink[i])).toBe(true) } - // const btn = await page.waitForSelector('.menu-support') - // await btn.click() - await browser.close(); -})(); \ No newline at end of file + }) +})) + + From 0e907c51643f4648f969f1a90cc1883ad28bb2c3 Mon Sep 17 00:00:00 2001 From: beliberda Date: Tue, 7 Mar 2023 01:32:00 +1000 Subject: [PATCH 6/6] . --- package.json | 2 +- src/__tests__/menu-link.test.js | 18 +++++++++++------- src/pages/dashboard/Menu/index.tsx | 16 ++++++++-------- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index b372045..793ee86 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "scripts": { "start": "react-scripts start", "build": "react-scripts build", - "test": "react-scripts test", + "test": "jest", "eject": "react-scripts eject" }, "eslintConfig": { diff --git a/src/__tests__/menu-link.test.js b/src/__tests__/menu-link.test.js index 2071ee8..ce20363 100644 --- a/src/__tests__/menu-link.test.js +++ b/src/__tests__/menu-link.test.js @@ -1,26 +1,30 @@ const puppeteer = require('puppeteer'); const url = "http://localhost:3000/users"; const urlMass = ['/users','/tariffs','/discounts','/promocode','/support', '/entities']; + + jest.setTimeout(1000 * 60 * 5); + let browser; let page; -describe('Тест', (() => { + + describe('Тест', (() => { beforeAll(async()=>{ - browser = await puppeteer.launch({headless:true}); - page = await browser.newPage(); + browser = puppeteer.launch({headless:true}); + page = browser.newPage(); - await page.goto(url); + page.goto(url); // Set screen size - await page.setViewport({width: 1080, height: 1024}); + page.setViewport({width: 1080, height: 1024}); }) afterAll(() => browser.quit()); test('Тест меню',async () => { // Ждем загрузки менюшек - await page.waitForSelector('.menu') + page.waitForSelector('.menu') // Берем все ссылки с кнопок, у которых есть класс menu и вставляем в массив - let menuLink = await page.evaluate(()=>{ + let menuLink = page.evaluate(()=>{ let menuArray = document.querySelectorAll('.menu') let Urls = Object.values(menuArray).map( menuItem => ( diff --git a/src/pages/dashboard/Menu/index.tsx b/src/pages/dashboard/Menu/index.tsx index 6b6a897..000f5e3 100644 --- a/src/pages/dashboard/Menu/index.tsx +++ b/src/pages/dashboard/Menu/index.tsx @@ -102,14 +102,14 @@ const Drawer = styled(MuiDrawer, { shouldForwardProp: (prop) => prop !== 'open' ); const links: {path: string; element: JSX.Element; title: string, className: string} [] =[ - {path: '/users', element: , title: 'Информация о проекте', className:'menu menu-users'}, - {path: '/entities', element: , title: 'Юридические лица', className:'menu menu-entities'}, - {path: '/tariffs', element: , title: 'Шаблонизатор документов', className:'menu menu-tariffs'}, - {path: '/discounts', element: , title: 'Скидки', className:'menu menu-discounts'}, - {path: '/promocode', element: , title: 'Промокод', className:'menu menu-promocode'}, - {path: '/kkk', element: , title: 'Настройки', className:'menu-settings'}, - {path: '/jjj', element: , title: 'Камера', className:'menu-camera'}, - {path: '/support', element: , title: 'Служба поддержки', className:'menu menu-support'}, + {path: '/users', element: , title: 'Информация о проекте', className:'menu'}, + {path: '/entities', element: , title: 'Юридические лица', className:'menu'}, + {path: '/tariffs', element: , title: 'Шаблонизатор документов', className:'menu'}, + {path: '/discounts', element: , title: 'Скидки', className:'menu'}, + {path: '/promocode', element: , title: 'Промокод', className:'menu'}, + {path: '/kkk', element: , title: 'Настройки', className:'menu'}, + {path: '/jjj', element: , title: 'Камера', className:'menu'}, + {path: '/support', element: , title: 'Служба поддержки', className:'menu'}, ]