diff --git a/server/api/swagger/swagger.yaml b/server/api/swagger/swagger.yaml index 67513dbda9..5c388545f2 100644 --- a/server/api/swagger/swagger.yaml +++ b/server/api/swagger/swagger.yaml @@ -1,6 +1,6 @@ swagger: "2.0" info: - version: "2.4.4" + version: "2.4.5" title: HollaEx Kit host: api.hollaex.com basePath: /v2 diff --git a/server/package.json b/server/package.json index 66ca3f3647..cfb041e944 100644 --- a/server/package.json +++ b/server/package.json @@ -1,5 +1,5 @@ { - "version": "2.4.4", + "version": "2.4.5", "private": false, "description": "HollaEx Kit", "keywords": [ diff --git a/test/Cypress/cucumber-html-report.js b/test/Cypress/cucumber-html-report.js new file mode 100644 index 0000000000..44b148adab --- /dev/null +++ b/test/Cypress/cucumber-html-report.js @@ -0,0 +1,47 @@ +//*** Let name it cucumber-html-report.js ** +//the newst version +var os = require('os'); +const { detect } = require('detect-browser'); +const browser = detect(); +const report = require("multiple-cucumber-html-reporter"); +const cypress = require('cypress'); + +report.generate( + {jsonDir: "cypress/cucumber-json", // ** Path of .json file **// + reportPath: "./reports/cucumber-htmlreport.html", + pageTitle: "Hollaex Kit Tests Report", + reportName : "Test result", + pageFooter : "Hollaex QA team", + displayDuration: true, + displayReportTime : true, + metadata: { + + browser: { + + scenarioTimestamp : true, + name: "chrome", + version: browser.name+browser.version+browser.os + }, + device: "Local test machine", + platform: {name: os.platform()+os.version, + + version: "11",env:'HollaexKit'} + ,}, + customData: { + title: 'Run info', + data: [ + {label: 'Project', value: 'Hollaex Kit'}, + {label: 'Release', value: '2.4'}, + {label: 'Cycle', value: '1'}, + {label: 'Execution Time', value: Date()}, + + ] + } + + + ,} + + + ); + + \ No newline at end of file diff --git a/test/Cypress/cypress/integration/Gherkin/login/login.js b/test/Cypress/cypress/integration/Gherkin/login/login.js index 065e9b38bb..1e42ed4501 100644 --- a/test/Cypress/cypress/integration/Gherkin/login/login.js +++ b/test/Cypress/cypress/integration/Gherkin/login/login.js @@ -1,3 +1,5 @@ +import { commandTimings } from 'cypress-timings' +commandTimings() import {Given, When, Then} from "cypress-cucumber-preprocessor/steps" Given ('I am in the Hollaex login page',()=>{ @@ -6,16 +8,23 @@ Given ('I am in the Hollaex login page',()=>{ }) When ('I enter credentials Username,Password',()=>{ - + const t0 = performance.now(); + cy.get('.holla-button').should('be.visible').should('be.disabled') cy.get('[name="email"]').clear().type(Cypress.env("USER0")) cy.get('[name="password"]').clear().type(Cypress.env('PASSWORD')) + const t1 = performance.now(); + cy.log('time') + cy.log(t1-t0) }) Then ('I should be able to login successfully',()=>{ - + const t0 = performance.now(); cy.get('.holla-button').should('be.visible').should('be.enabled').click() cy.get('.warning_text').should('not.exist') + const t1 = performance.now(); + cy.log('time') + cy.log(t1-t0) }) When ('I enter credentials Wrong Username,Password',()=>{ @@ -76,14 +85,17 @@ And ('I enter Expired,long,short and then true 2FA code',()=>{ cy.wrap(token).as('token') cy.log(token); cy.log('second', text) - cy.get('.otp_form-wrapper > form.w-100 > .w-100 > :nth-child(1) > .field-wrapper > :nth-child(1) > :nth-child(1) > .field-content > .field-children > div > .input_field-input') - .clear().type('543065') - cy.get('.otp_form-wrapper > form.w-100 > .holla-button').should('not.be.disabled').click() + // cy.get('.otp_form-wrapper > form.w-100 > .w-100 > :nth-child(1) > .field-wrapper > :nth-child(1) > :nth-child(1) > .field-content > .field-children > div > .input_field-input') + cy.get('.masterInput') + .clear().type('108249') + // cy.get('.otp_form-wrapper > form.w-100 > .holla-button').should('not.be.disabled').click() cy.get('.warning_text').should('contain','Invalid OTP Code') - cy.get('.otp_form-wrapper > form.w-100 > .w-100 > :nth-child(1) > .field-wrapper > :nth-child(1) > :nth-child(1) > .field-content > .field-children > div > .input_field-input') - .clear().type('5430656') - cy.get('.otp_form-wrapper > form.w-100 > .holla-button').should('be.disabled') - cy.get('.otp_form-wrapper > form.w-100 > .w-100 > :nth-child(1) > .field-wrapper > :nth-child(1) > :nth-child(1) > .field-content > .field-children > div > .input_field-input') + //cy.get('.otp_form-wrapper > form.w-100 > .w-100 > :nth-child(1) > .field-wrapper > :nth-child(1) > :nth-child(1) > .field-content > .field-children > div > .input_field-input') + cy.get('.masterInput') + .clear().type('108294') + // cy.get('.otp_form-wrapper > form.w-100 > .holla-button').should('not.be.disabled') + //cy.get('.otp_form-wrapper > form.w-100 > .w-100 > :nth-child(1) > .field-wrapper > :nth-child(1) > :nth-child(1) > .field-content > .field-children > div > .input_field-input') + //the new changes .clear().type(token) - cy.get('.otp_form-wrapper > form.w-100 > .holla-button').click() + // cy.get('.otp_form-wrapper > form.w-100 > .holla-button').click() }) \ No newline at end of file diff --git a/test/Cypress/package.json b/test/Cypress/package.json index 028769e70b..85f2ba0e1d 100644 --- a/test/Cypress/package.json +++ b/test/Cypress/package.json @@ -1,25 +1,39 @@ { "devDependencies": { "@4tw/cypress-drag-drop": "^2.1.0", + "@cucumber/cucumber": "^8.5.3", + "@cucumber/pretty-formatter": "^1.0.0", + "@cypress-audit/lighthouse": "^1.3.1", "cypress": "^9.2.0", + "cypress-audit": "^1.1.0", "cypress-iframe": "^1.0.1", + "cypress-timings": "^1.0.0", "cypress-xpath": "^1.6.2", "eslint": "^8.11.0", + "multiple-cucumber-html-reporter": "^2.0.0", "prettier": "2.6.0" }, "dependencies": { + "@badeball/cypress-cucumber-preprocessor": "^13.0.0", + "cucumber-perf": "^2.0.1", "cypress-cucumber-preprocessor": "^4.3.1", - "cypress-tags": "^1.0.0", + "cypress-lighthouse": "^0.1.0", + "detect-browser": "^5.3.0", + "save-dev": "^0.0.1-security", "totp-generator": "^0.0.13" }, "cypress-cucumber-preprocessor": { + "cucumberJson": { + "generate": true, + "outputFolder": "cypress/cucumber-json", + "filePrefix": "", + "fileSuffix": ".cucumber" + }, "nonGlobalStepDefinitions": true }, "scripts": { "debug.javascript.codelens.npmScripts": "never", - "test-ci": "npx cypress-tags run --browser chrome --record -e", - "test": "npx cypress-tags run --browser chrome -e", - "pre-ci": "npm run test-ci TAGS=@pre", + "test": "npx cypress-tags run -e", "pre": "npm test TAGS=@pre" } -} +} \ No newline at end of file diff --git a/version b/version index ab6d27898c..26f8b8bcdf 100644 --- a/version +++ b/version @@ -1 +1 @@ -2.4.4 \ No newline at end of file +2.4.5 \ No newline at end of file diff --git a/web/package.json b/web/package.json index 8ff54d7b66..ab0ebbc80a 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "hollaex-kit", - "version": "2.4.4", + "version": "2.4.5", "private": true, "dependencies": { "@ant-design/compatible": "1.0.5", diff --git a/web/public/assets/flags/mn.png b/web/public/assets/flags/mn.png new file mode 100644 index 0000000000..334a47784b Binary files /dev/null and b/web/public/assets/flags/mn.png differ diff --git a/web/public/assets/images/check-sending-bitcoin.svg b/web/public/assets/images/check-sending-bitcoin.svg index 9282e4c812..8fd1984b4b 100644 --- a/web/public/assets/images/check-sending-bitcoin.svg +++ b/web/public/assets/images/check-sending-bitcoin.svg @@ -1,23 +1,4 @@ - - - - - - + + \ No newline at end of file diff --git a/web/public/assets/images/maxIcon.svg b/web/public/assets/images/maxIcon.svg new file mode 100644 index 0000000000..fc72131453 --- /dev/null +++ b/web/public/assets/images/maxIcon.svg @@ -0,0 +1,36 @@ + \ No newline at end of file diff --git a/web/src/components/CurrencyBall/withPrice.js b/web/src/components/CurrencyBall/withPrice.js index 33949a283d..e08be03a59 100644 --- a/web/src/components/CurrencyBall/withPrice.js +++ b/web/src/components/CurrencyBall/withPrice.js @@ -13,7 +13,7 @@ const CurrencyBallWithPrice = ({ isExistBroker = false, }) => { const { display_name, ...rest } = coins[symbol] || DEFAULT_COIN_DATA; - const minValue = min ? min : rest.min; + const minValue = rest.min ? rest.min : min; return (