Skip to content

Commit 77e9b72

Browse files
author
Daniel Weber
committed
Change test describes
1 parent 8ad6f92 commit 77e9b72

File tree

10 files changed

+103
-105
lines changed

10 files changed

+103
-105
lines changed

src/Components.vue

+7-7
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,12 @@
2626
<div class="item"><AsyncMethods :name="'Lebowski'" /></div>
2727
</div>
2828
<div class="row">
29-
<div class="item"><h6>Dynamical generated tests</h6></div>
30-
<div class="item"><p>Toggle should be true</p><Toggle :dudeName="'Lebowski'" :isDude="true" /></div>
29+
<div class="item"><h6>TestScenarios</h6></div>
30+
<div class="item"><p>Toggle should be true</p><TestScenarios :dudeName="'Lebowski'" :isDude="true" /></div>
3131
</div>
3232
<div class="row">
33-
<div class="item"><h6>Dynamical generated tests</h6></div>
34-
<div class="item"><p>Toggle should be false</p><Toggle :dudeName="''" :isDude="true" /></div>
33+
<div class="item"><h6>TestScenarios</h6></div>
34+
<div class="item"><p>Toggle should be false</p><TestScenarios :dudeName="''" :isDude="true" /></div>
3535
</div>
3636
<div class="row">
3737
<div class="item"><h6>Route params tests</h6></div>
@@ -52,17 +52,17 @@ import Props from './components/props/';
5252
import Computed from './components/computed/';
5353
import Methods from './components/methods/';
5454
import AsyncMethods from './components/asyncMethods/';
55-
import Toggle from './components/toggle/';
55+
import TestScenarios from './components/testScenarios/';
5656
5757
export default {
58-
name: 'app',
58+
name: 'Components',
5959
components: {
6060
Elements,
6161
Props,
6262
Computed,
6363
Methods,
6464
AsyncMethods,
65-
Toggle,
65+
TestScenarios,
6666
},
6767
};
6868
</script>

src/components/asyncMethods/asyncMethods.spec.js

+18-14
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,23 @@ import AsyncMethods from './index';
33

44
const Constructor = Vue.extend(AsyncMethods);
55

6-
describe('Test async methods', () => {
7-
it('check getFeedbackData', () => {
8-
const vm = new Constructor({
9-
propsData: {
10-
isDude: true,
11-
count: 1,
12-
name: 'Lebowski',
13-
},
14-
}).$mount();
15-
// TODO
16-
// sinon.stub(vm.methods, 'getFeedbackData').callsFake(() => {
17-
// 'nix gefunden';
18-
// });
19-
expect(vm.$el.querySelector('button').textContent).to.equal('Get async data');
6+
describe('ASYNC METHODS', () => {
7+
describe('#getFeedbackData', () => {
8+
it('return "Get async data"', () => {
9+
const vm = new Constructor({
10+
propsData: {
11+
isDude: true,
12+
count: 1,
13+
name: 'Lebowski',
14+
},
15+
}).$mount();
16+
// TODO
17+
// sinon.stub(vm.methods, 'getFeedbackData').callsFake(() => {
18+
// 'nix gefunden';
19+
// });
20+
expect(vm.$el.querySelector('button').textContent).to.equal(
21+
'Get async data',
22+
);
23+
});
2024
});
2125
});

src/components/computed/computed.spec.js

+32-30
Original file line numberDiff line numberDiff line change
@@ -30,38 +30,40 @@ import Computed from './index';
3030

3131
const Constructor = Vue.extend(Computed);
3232

33-
describe('Test computed', () => {
34-
it('there is just one Dude', () => {
35-
const vm = new Constructor({
36-
propsData: {
37-
isDude: true,
38-
count: 1,
39-
name: 'Lebowski',
40-
},
41-
}).$mount();
33+
describe('COMPUTED', () => {
34+
describe('#isJustOneDude', () => {
35+
it('there is just one Dude', () => {
36+
const vm = new Constructor({
37+
propsData: {
38+
isDude: true,
39+
count: 1,
40+
name: 'Lebowski',
41+
},
42+
}).$mount();
4243

43-
expect(vm.isJustOneDude).to.equal(true);
44-
});
45-
it('there are more than one Dude', () => {
46-
const vm = new Constructor({
47-
propsData: {
48-
isDude: true,
49-
count: 2,
50-
name: 'Lebowski',
51-
},
52-
}).$mount();
44+
expect(vm.isJustOneDude).to.equal(true);
45+
});
46+
it('there are more than one Dude', () => {
47+
const vm = new Constructor({
48+
propsData: {
49+
isDude: true,
50+
count: 2,
51+
name: 'Lebowski',
52+
},
53+
}).$mount();
5354

54-
expect(vm.isJustOneDude).to.equal(false);
55-
});
56-
it('there are no negative Dudes', () => {
57-
const vm = new Constructor({
58-
propsData: {
59-
isDude: true,
60-
count: -1,
61-
name: 'Lebowski',
62-
},
63-
}).$mount();
55+
expect(vm.isJustOneDude).to.equal(false);
56+
});
57+
it('there are no negative Dudes', () => {
58+
const vm = new Constructor({
59+
propsData: {
60+
isDude: true,
61+
count: -1,
62+
name: 'Lebowski',
63+
},
64+
}).$mount();
6465

65-
expect(vm.isJustOneDude).to.equal(false);
66+
expect(vm.isJustOneDude).to.equal(false);
67+
});
6668
});
6769
});

src/components/methods/methods.spec.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ import Methods from './index';
33

44
const Constructor = Vue.extend(Methods);
55

6-
describe('Test methods', () => {
7-
it('Dude always speaks a quote', () => {
6+
describe('METHODS', () => {
7+
describe('#getRandomQuote', () => {
8+
it('is not empty', () => {
89
const vm = new Constructor({
910
propsData: {
1011
isDude: true,
@@ -16,3 +17,4 @@ describe('Test methods', () => {
1617
expect(vm.getRandomQuote).to.not.equal('');
1718
});
1819
});
20+
});

src/components/props/props.spec.js

+1-14
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import Props from './index';
33

44
const Constructor = Vue.extend(Props);
55

6-
describe('Test props', () => {
6+
describe('PROPS', () => {
77
it('is uniqe, true and called Lebowski', () => {
88
const vm = new Constructor({
99
propsData: {
@@ -13,19 +13,6 @@ describe('Test props', () => {
1313
},
1414
}).$mount();
1515

16-
expect(vm.$el.querySelector('.isDude')).to.not.equal(null);
17-
expect(vm.$el.querySelector('p span').textContent).to.equal('Lebowski');
18-
expect(vm.$el.querySelector('p em').textContent).to.equal('1');
19-
});
20-
it('is props correct', () => {
21-
const vm = new Constructor({
22-
propsData: {
23-
isDude: true,
24-
count: 1,
25-
name: 'Lebowski',
26-
},
27-
}).$mount();
28-
2916
expect(vm.$el.querySelector('.isDude')).to.not.equal(null);
3017
expect(vm.$el.querySelector('p span').textContent).to.equal('Lebowski');
3118
expect(vm.$el.querySelector('p em').textContent).to.equal('1');

src/components/routeParams/index.vue

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<template>
22
<div>
3-
<p>Hello {{name}} :)</p>
3+
<p>Hello {{nameFromParams}} :)</p>
44
<p><router-link to="/">back</router-link></p>
55
</div>
66
</template>
@@ -9,8 +9,8 @@
99
export default {
1010
name: 'routeParams',
1111
computed: {
12-
name() {
13-
return this.$route.params.id;
12+
nameFromParams() {
13+
return (typeof this.$route.params.id !== 'undefined') ? this.$route.params.id : '';
1414
},
1515
},
1616
};
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import Vue from 'vue';
22
import RouteParams from './index';
33

4-
const Constructor = Vue.extend(RouteParams);
5-
6-
describe('Test route params', () => {
7-
it('should be Dude', () => {
8-
const vm = new Constructor().$mount();
9-
vm.$route = { params: { id: 'Dude' } };
10-
11-
expect(vm.name).to.equal('Dude');
4+
describe('PARAMS', () => {
5+
describe('#nameFromParams', () => {
6+
it('should be Dude', () => {
7+
const Constructor = Vue.extend(RouteParams);
8+
const vm = new Constructor();
9+
vm.$route = { params: { id: 'Dude' } };
10+
vm.$mount();
11+
expect(vm.nameFromParams).to.equal('Dude');
12+
});
1213
});
1314
});
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import Vue from 'vue';
2+
import Toggle from './index';
3+
4+
const Constructor = Vue.extend(Toggle);
5+
6+
describe('TEST WITH SCENARIOS', () => {
7+
describe('#isCheckedFromProps', () => {
8+
const testScenarios = [
9+
{ propsData: { isDude: true, dudeName: 'Lebowski' }, expected: true },
10+
{ propsData: { isDude: false, dudeName: 'Lebowski' }, expected: false },
11+
{ propsData: { isDude: true, dudeName: '' }, expected: false },
12+
{ propsData: { isDude: true, dudeName: null }, expected: false },
13+
{ propsData: { isDude: true, dudeName: [] }, expected: false },
14+
{ propsData: { isDude: true, dudeName: {} }, expected: false },
15+
{ propsData: { isDude: true, dudeName: undefined }, expected: false },
16+
{ propsData: { isDude: true }, expected: false },
17+
];
18+
19+
testScenarios.map((scenario, i) => {
20+
it('(' + i + ') should be ' + scenario.expected, () => {
21+
const vm = new Constructor({
22+
propsData: scenario.propsData,
23+
}).$mount();
24+
25+
expect(vm.isCheckedFromProps).to.equal(scenario.expected);
26+
});
27+
});
28+
});
29+
});

src/components/toggle/toggle.spec.js

-27
This file was deleted.

0 commit comments

Comments
 (0)