File tree 2 files changed +24
-0
lines changed
2 files changed +24
-0
lines changed Original file line number Diff line number Diff line change @@ -8,3 +8,12 @@ test('renders a todo', () => {
8
8
expect ( wrapper . find ( '[data-test="todo"]' ) . text ( ) ) . toBe ( 'Learn Vue.js 3' )
9
9
} )
10
10
11
+ test ( 'creates a todo' , async ( ) => {
12
+ const wrapper = mount ( TodoApp )
13
+
14
+ wrapper . find ( '[data-test="new-todo"]' ) . element . value = 'New todo'
15
+ await wrapper . find ( '[data-test="form"]' ) . trigger ( 'submit' )
16
+
17
+ expect ( wrapper . findAll ( '[data-test="todo"]' ) ) . toHaveLength ( 2 )
18
+ } )
19
+
Original file line number Diff line number Diff line change 3
3
<div v-for =" todo in todos" :key =" todo.id" data-test =" todo" >
4
4
{{ todo.text }}
5
5
</div >
6
+
7
+ <form data-test =" form" @submit.prevent =" createTodo" >
8
+ <input data-test =" new-todo" v-model =" newTodo" />
9
+ </form >
6
10
</div >
7
11
</template >
8
12
@@ -12,6 +16,7 @@ export default {
12
16
13
17
data () {
14
18
return {
19
+ newTodo: ' ' ,
15
20
todos: [
16
21
{
17
22
id: 1 ,
@@ -20,6 +25,16 @@ export default {
20
25
}
21
26
]
22
27
}
28
+ },
29
+
30
+ methods: {
31
+ createTodo () {
32
+ this .todos .push ({
33
+ id: 2 ,
34
+ text: this .newTodo ,
35
+ completed: false
36
+ })
37
+ }
23
38
}
24
39
}
25
40
</script >
You can’t perform that action at this time.
0 commit comments