Skip to content

Commit 9140ca9

Browse files
committed
adding tests for skill rendering
1 parent 99c76db commit 9140ca9

File tree

2 files changed

+54
-1
lines changed

2 files changed

+54
-1
lines changed

src/components/modal.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ export default {
8383
if (skills.length <= 5) {
8484
return skills
8585
} else {
86-
return skills.slice(1, 3).concat(['...']).concat(skills.slice(-2))
86+
return skills.slice(0, 2).concat(['...']).concat(skills.slice(-2))
8787
}
8888
}
8989
},

test/unit/specs/modal.js

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,56 @@ describe('modal.vue', () => {
5959
})
6060
})
6161
})
62+
63+
describe('modal.vue', () => {
64+
it('should render only five qual levels', done => {
65+
Vue.use(VueRouter)
66+
const router = new VueRouter({routes: [
67+
{path: '/', name: 'index', component: {render: h => h('div', {attrs: {'class': 'index'}})}},
68+
{path: '/:link', name: 'modal', component: modal},
69+
]})
70+
const _vm_data = {
71+
contractors: [{name: 'Fred Bloggs', link: 'fred-bloggs', tag_line: 'hello'}],
72+
config: {contact_html: 'name is: {name}'},
73+
contractors_extra: {
74+
'fred-bloggs': {
75+
extra_attributes: [{'name': 'Bio', 'value': 'I am great'}],
76+
skills: [
77+
{
78+
subject: 'Biology',
79+
category: 'Science',
80+
qual_levels: ['GCSE', 'AS Level', 'A Level']
81+
},
82+
{
83+
subject: 'Physics',
84+
category: 'Science',
85+
qual_levels: ['QL1', 'QL2', 'QL3', 'QL4', 'QL5', 'QL6']
86+
},
87+
]
88+
},
89+
}
90+
}
91+
92+
const vm = new Vue({
93+
el: document.createElement('div'),
94+
router: router,
95+
render: h => h('router-view'),
96+
data: _vm_data,
97+
methods: {get_details: function (url, link) {}}
98+
})
99+
router.push({name: 'modal', params: {link: 'fred-bloggs'}})
100+
Vue.nextTick(() => {
101+
expect(vm.$el.querySelector('h2').textContent).to.equal('Fred Bloggs')
102+
expect(vm.$el.querySelector('.tcs-skills').textContent).to.include('GCSE')
103+
expect(vm.$el.querySelector('.tcs-skills').textContent).to.include('AS Level')
104+
expect(vm.$el.querySelector('.tcs-skills').textContent).to.include('QL1')
105+
expect(vm.$el.querySelector('.tcs-skills').textContent).to.include('QL2')
106+
expect(vm.$el.querySelector('.tcs-skills').textContent).to.not.include('QL3')
107+
expect(vm.$el.querySelector('.tcs-skills').textContent).to.not.include('QL4')
108+
expect(vm.$el.querySelector('.tcs-skills').textContent).to.include('QL5')
109+
expect(vm.$el.querySelector('.tcs-skills').textContent).to.include('QL6')
110+
done()
111+
})
112+
})
113+
})
114+

0 commit comments

Comments
 (0)