diff --git a/src/commonComponents/radioQuestion/radioQuestion.spec.js b/src/commonComponents/radioQuestion/radioQuestion.spec.js index 882a68129..4c267491a 100644 --- a/src/commonComponents/radioQuestion/radioQuestion.spec.js +++ b/src/commonComponents/radioQuestion/radioQuestion.spec.js @@ -1 +1,18 @@ -test.todo('some test to be written in the future'); \ No newline at end of file +import { shallowMount } from '@vue/test-utils'; +import radioQuestion from './radioQuestion'; + +test('radioQuestion', () => { + // render the component + const wrapper = shallowMount(radioQuestion, { + propsData: { + questionText: 'testString', + chooseAnswer: function(){ console.log('test') } + } + }); + + // test if questionText is a string + expect(typeof wrapper.props().questionText).toBe('string'); + + // test if chooseAnswer is a function + expect(typeof wrapper.props().chooseAnswer).toBe('function'); +}); \ No newline at end of file diff --git a/src/commonComponents/radioQuestion/radioQuestion.vue b/src/commonComponents/radioQuestion/radioQuestion.vue index 8f00064ff..d906bc5d3 100644 --- a/src/commonComponents/radioQuestion/radioQuestion.vue +++ b/src/commonComponents/radioQuestion/radioQuestion.vue @@ -5,7 +5,7 @@
- +
@@ -17,7 +17,8 @@ export default { name: "radio-question", props: { questionText: String, - answers: Array + answers: Array, + chooseAnswer: Function }, components: { radio diff --git a/src/layouts/selectYear/selectYear.vue b/src/layouts/selectYear/selectYear.vue index 2f8699ffa..25914ad83 100644 --- a/src/layouts/selectYear/selectYear.vue +++ b/src/layouts/selectYear/selectYear.vue @@ -7,6 +7,7 @@ @@ -18,6 +19,8 @@ import Header from "@/uxComponents/header/header"; import { endpoints } from "@/constants/endpoints.js"; import globalMethods from "@/global-methods"; import axios from "axios"; +import store from "@/store"; +import router from "@/router"; export default { name: "SelectCar", @@ -58,9 +61,11 @@ export default { }, methods: { selectYear(year) { - const listButtons = document.querySelectorAll('.list-button'); - globalMethods.disableItems(listButtons); - this.dispatchNonBlockingStoreAction("selectYear", { year: year }); + this.dispatchNonBlockingStoreAction("selectYear", { year: year }).then( (response) => { + const makes = response; + store.commit('updateYear', {year, makes}); + router.push(`select-make?year=${year}`); + }); } }, components: { diff --git a/src/router/index.js b/src/router/index.js index 23b67c303..0d4279df8 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -4,11 +4,11 @@ import { lazyLoadComponent } from "@/router/dynamic-routing/component-loader.js" import ComponentTest from "@/layouts/componentTest/componentTest.vue"; import NotFound from "@/layouts/notFound/notFound.vue"; import store from "@/store"; -// import selectYear from "@/layouts/selectYear/selectYear.vue"; -// import selectMake from "@/layouts/selectMake/selectMake.vue"; -// import selectModel from "@/layouts/selectModel/selectModel.vue"; -// import selectStyle from "@/layouts/selectStyle/selectStyle.vue"; -// import selectDamage from "@/layouts/selectDamage/selectDamage.vue"; +import selectYear from "@/layouts/selectYear/selectYear.vue"; +import selectMake from "@/layouts/selectMake/selectMake.vue"; +import selectModel from "@/layouts/selectModel/selectModel.vue"; +import selectStyle from "@/layouts/selectStyle/selectStyle.vue"; +import selectDamage from "@/layouts/selectDamage/selectDamage.vue"; const routes = [ { @@ -66,31 +66,31 @@ const routes = [ } }, }, - // { - // path: "/select-year", - // name: "selectYear", - // component: selectYear, - // }, - // { - // path: "/select-make", - // name: "selectMake", - // component: selectMake, - // }, - // { - // path: "/select-model", - // name: "selectModel", - // component: selectModel, - // }, - // { - // path: "/select-style", - // name: "selectStyle", - // component: selectStyle, - // }, - // { - // path: "/select-damage", - // name: "selectDamage", - // component: selectDamage, - // }, + { + path: "/select-year", + name: "selectYear", + component: selectYear, + }, + { + path: "/select-make", + name: "selectMake", + component: selectMake, + }, + { + path: "/select-model", + name: "selectModel", + component: selectModel, + }, + { + path: "/select-style", + name: "selectStyle", + component: selectStyle, + }, + { + path: "/select-damage", + name: "selectDamage", + component: selectDamage, + }, ]; const router = createRouter({ diff --git a/src/store/index.js b/src/store/index.js index b1da436f1..c9abb233b 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -61,15 +61,10 @@ export default createStore({ payload:{ "Year": year } - }) - .then( (response) => { - const makes = response; - context.commit('updateYear', {year, makes}); - router.push(`select-make?year=${year}`); }); }, selectMake({ commit, state }, { make }) { - return globalMethods.callHttpClient({ + globalMethods.callHttpClient({ method: endpoints.GetModels.method, endpoint: endpoints.GetModels.url, payload:{ diff --git a/src/uxComponents/header/header.spec.js b/src/uxComponents/header/header.spec.js index 882a68129..8bf197638 100644 --- a/src/uxComponents/header/header.spec.js +++ b/src/uxComponents/header/header.spec.js @@ -1 +1,15 @@ -test.todo('some test to be written in the future'); \ No newline at end of file +import { shallowMount } from '@vue/test-utils'; +import Header from './header'; + +test('Header', () => { + // render the component + const wrapper = shallowMount(Header, { + propsData: { + text: 'testString' + } + }); + + // test if text is a string + expect(typeof wrapper.props().text).toBe('string'); + +}); \ No newline at end of file diff --git a/src/uxComponents/radio/radio.spec.js b/src/uxComponents/radio/radio.spec.js index 882a68129..bdaa1d748 100644 --- a/src/uxComponents/radio/radio.spec.js +++ b/src/uxComponents/radio/radio.spec.js @@ -1 +1,18 @@ -test.todo('some test to be written in the future'); \ No newline at end of file +import { shallowMount } from '@vue/test-utils'; +import radio from './radio'; + +test('radioQuestion', () => { + // render the component + const wrapper = shallowMount(radio, { + propsData: { + value: 'testString', + text: 'testString2' + } + }); + + // test if value is a string + expect(typeof wrapper.props().value).toBe('string'); + + // test if text is a string + expect(typeof wrapper.props().text).toBe('string'); +}); \ No newline at end of file