diff --git a/package-lock.json b/package-lock.json index 0ea2e31ca..88a73ac4d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,6 @@ "canvas-confetti": "^1.4.0", "core-js": "^3.6.5", "http-status-codes": "^2.1.4", - "jest-junit": "^13.0.0", "vue": "^3.0.0", "vue-router": "^4.0.11", "vuex": "^4.0.2", @@ -32,6 +31,7 @@ "eslint": "^6.7.2", "eslint-plugin-prettier": "^3.3.1", "eslint-plugin-vue": "^7.0.0", + "jest-junit": "^13.0.0", "prettier": "^2.2.1", "sass": "^1.26.5", "sass-loader": "^8.0.2", @@ -10962,6 +10962,7 @@ "version": "13.0.0", "resolved": "https://registry.npmjs.org/jest-junit/-/jest-junit-13.0.0.tgz", "integrity": "sha512-JSHR+Dhb32FGJaiKkqsB7AR3OqWKtldLd6ZH2+FJ8D4tsweb8Id8zEVReU4+OlrRO1ZluqJLQEETm+Q6/KilBg==", + "dev": true, "dependencies": { "mkdirp": "^1.0.4", "strip-ansi": "^6.0.1", @@ -10976,6 +10977,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, "engines": { "node": ">=8" } @@ -10984,6 +10986,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, "bin": { "mkdirp": "bin/cmd.js" }, @@ -10995,6 +10998,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -11006,6 +11010,7 @@ "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, "bin": { "uuid": "dist/bin/uuid" } @@ -11743,9 +11748,6 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, - "dependencies": { - "graceful-fs": "^4.1.6" - }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -18003,7 +18005,6 @@ "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dev": true, "dependencies": { - "chokidar": "^3.4.1", "graceful-fs": "^4.1.2", "neo-async": "^2.5.0" }, @@ -18067,7 +18068,6 @@ "anymatch": "^2.0.0", "async-each": "^1.0.1", "braces": "^2.3.2", - "fsevents": "^1.2.7", "glob-parent": "^3.1.0", "inherits": "^2.0.3", "is-binary-path": "^1.0.0", @@ -18982,7 +18982,8 @@ "node_modules/xml": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", - "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=" + "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=", + "dev": true }, "node_modules/xml-name-validator": { "version": "3.0.0", @@ -27872,6 +27873,7 @@ "version": "13.0.0", "resolved": "https://registry.npmjs.org/jest-junit/-/jest-junit-13.0.0.tgz", "integrity": "sha512-JSHR+Dhb32FGJaiKkqsB7AR3OqWKtldLd6ZH2+FJ8D4tsweb8Id8zEVReU4+OlrRO1ZluqJLQEETm+Q6/KilBg==", + "dev": true, "requires": { "mkdirp": "^1.0.4", "strip-ansi": "^6.0.1", @@ -27882,17 +27884,20 @@ "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true }, "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "requires": { "ansi-regex": "^5.0.1" } @@ -27900,7 +27905,8 @@ "uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true } } }, @@ -34454,7 +34460,8 @@ "xml": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", - "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=" + "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=", + "dev": true }, "xml-name-validator": { "version": "3.0.0", diff --git a/package.json b/package.json index 2fe60a35b..8b26d9e8e 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,6 @@ }, "devDependencies": { "@vue/cli-plugin-babel": "~4.5.0", - "jest-junit": "^13.0.0", "@vue/cli-plugin-eslint": "~4.5.0", "@vue/cli-plugin-unit-jest": "~4.5.0", "@vue/cli-service": "~4.5.0", @@ -33,6 +32,7 @@ "eslint": "^6.7.2", "eslint-plugin-prettier": "^3.3.1", "eslint-plugin-vue": "^7.0.0", + "jest-junit": "^13.0.0", "prettier": "^2.2.1", "sass": "^1.26.5", "sass-loader": "^8.0.2", diff --git a/src/store/store.spec.js b/src/store/store.spec.js new file mode 100644 index 000000000..f14a96f8b --- /dev/null +++ b/src/store/store.spec.js @@ -0,0 +1,87 @@ +import store from './index' + +describe("Actions", () => { + it("Should return list of years retrieved", async () => { + // Arrange + let years = []; + + // Act + await store.dispatch('getVehicleYears') + .then( (response) => { + years = response.data; + }); + + // Assert + expect(years[0]).toBe(2023); + }); + + it("Should return list of makes retrieved", async () => { + // Arrange + let makes = []; + + // Act + await store.dispatch('getVehicleMakes', {year: 2023}) + .then( (response) => { + makes = response.data; + }); + + // Assert + expect(makes[0]).toBe('Baic'); + }); + + it("Should return list of models retrieved", async () => { + // Arrange + let models = []; + + // Act + await store.dispatch('getVehicleModels', {year: 2023, make: 'Baic'}) + .then( (response) => { + models = response.data; + }); + + // Assert + expect(models[0]).toBe('BJ40 (MEX)'); + }); + + it("Should return list of styles retrieved", async () => { + // Arrange + let styles = []; + + // Act + await store.dispatch('getVehicleStyles', {year: 2023, make: 'Baic', model: 'BJ40 (MEX)'}) + .then( (response) => { + styles = response.data; + }); + + // Assert + expect(styles[0]).toBe('4 DOOR UTILITY'); + }); + + it("Should return data from url retrieved", async () => { + // Arrange + let routeInfo = []; + + // Act + await store.dispatch('getRouteInfo', { pageName: 'vehicle-year' }) + .then( (response) => { + routeInfo = response.data.Result; + }); + + // Assert + expect(routeInfo).toBe('{"vehicle-year":{"RelativeUrl":"/vehicle-year","LayoutName":"vehicle-year"}}'); + }); + + it("Should return page data from url retrieved", async () => { + // Arrange + let pageData = []; + + // Act + await store.dispatch('getPageData', { pageName: 'vehicle-year' }) + .then( (response) => { + pageData = response.data.Result; + }); + + // Assert + expect(pageData[0].Type).toBe('PageConfigWidget'); + }); +}) \ No newline at end of file