Tested all fruit mutations
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<coverage generated="1607034984518" clover="3.2.0">
|
<coverage generated="1607037828417" clover="3.2.0">
|
||||||
<project timestamp="1607034984518" name="All files">
|
<project timestamp="1607037828418" name="All files">
|
||||||
<metrics statements="4" coveredstatements="4" conditionals="0" coveredconditionals="0" methods="3" coveredmethods="3" elements="7" coveredelements="7" complexity="0" loc="4" ncloc="4" packages="1" files="1" classes="1"/>
|
<metrics statements="4" coveredstatements="4" conditionals="0" coveredconditionals="0" methods="3" coveredmethods="3" elements="7" coveredelements="7" complexity="0" loc="4" ncloc="4" packages="1" files="1" classes="1"/>
|
||||||
<file name="Fruits.vue" path="/Users/viricel/Sites/fruit-project/src/views/Fruits.vue">
|
<file name="Fruits.vue" path="/Users/viricel/Sites/fruit-project/src/views/Fruits.vue">
|
||||||
<metrics statements="4" coveredstatements="4" conditionals="0" coveredconditionals="0" methods="3" coveredmethods="3"/>
|
<metrics statements="4" coveredstatements="4" conditionals="0" coveredconditionals="0" methods="3" coveredmethods="3"/>
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ export default {
|
|||||||
<div class='footer quiet pad2 space-top1 center small'>
|
<div class='footer quiet pad2 space-top1 center small'>
|
||||||
Code coverage generated by
|
Code coverage generated by
|
||||||
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
||||||
at Thu Dec 03 2020 23:36:24 GMT+0100 (Central European Standard Time)
|
at Fri Dec 04 2020 00:23:48 GMT+0100 (Central European Standard Time)
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="prettify.js"></script>
|
<script src="prettify.js"></script>
|
||||||
|
|||||||
@@ -94,7 +94,7 @@
|
|||||||
<div class='footer quiet pad2 space-top1 center small'>
|
<div class='footer quiet pad2 space-top1 center small'>
|
||||||
Code coverage generated by
|
Code coverage generated by
|
||||||
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
||||||
at Thu Dec 03 2020 23:36:24 GMT+0100 (Central European Standard Time)
|
at Fri Dec 04 2020 00:23:48 GMT+0100 (Central European Standard Time)
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="prettify.js"></script>
|
<script src="prettify.js"></script>
|
||||||
|
|||||||
@@ -1,13 +1,15 @@
|
|||||||
import Vue from "vue";
|
import Vue from "vue";
|
||||||
import Vuex from "vuex";
|
import Vuex from "vuex";
|
||||||
|
import mutations from "./mutations";
|
||||||
|
|
||||||
|
export const state = {
|
||||||
|
fruits: [],
|
||||||
|
fruit: {}
|
||||||
|
};
|
||||||
|
|
||||||
Vue.use(Vuex);
|
Vue.use(Vuex);
|
||||||
|
|
||||||
export default new Vuex.Store({
|
export default new Vuex.Store({
|
||||||
state: {
|
state,
|
||||||
fruits: []
|
mutations
|
||||||
},
|
|
||||||
mutations: import("./mutations.js"),
|
|
||||||
actions: {},
|
|
||||||
modules: {}
|
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,5 +1,14 @@
|
|||||||
export default {
|
export default {
|
||||||
setFruits(state, fruits) {
|
setFruits: (state, fruits) => {
|
||||||
state.fruits = fruits;
|
state.fruits = fruits;
|
||||||
|
},
|
||||||
|
setFruit: (state, fruit) => {
|
||||||
|
state.fruit = fruit;
|
||||||
|
},
|
||||||
|
addFruit: (state, fruit) => {
|
||||||
|
state.fruits = [...state.fruits, fruit];
|
||||||
|
},
|
||||||
|
removeFruit: (state, id) => {
|
||||||
|
state.fruits = state.fruits.filter(item => item.id != id);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,36 +1,43 @@
|
|||||||
import mutations from "@/store/mutations.js";
|
import { state } from "@/store";
|
||||||
|
import mutations from "@/store/mutations";
|
||||||
|
|
||||||
|
const { setFruits, setFruit, addFruit, removeFruit } = mutations;
|
||||||
|
|
||||||
|
let fruit = {
|
||||||
|
id: 3,
|
||||||
|
isFruit: true,
|
||||||
|
name: "banana",
|
||||||
|
image: "/image/path.jpg",
|
||||||
|
price: "907.00",
|
||||||
|
color: "#763e44",
|
||||||
|
description: "Iusto illum vero voluptatem.",
|
||||||
|
taste: "Handcrafted",
|
||||||
|
expires: "2021-04-11T08:54:24.588Z"
|
||||||
|
};
|
||||||
|
|
||||||
describe("Test Vuex mutations.", () => {
|
describe("Test Vuex mutations.", () => {
|
||||||
it("should add fruits to the state", () => {
|
it("tests setFruits mutation.", () => {
|
||||||
const fruits = [
|
setFruits(state, [fruit]);
|
||||||
{
|
expect(state.fruits[0].id).toBe(3);
|
||||||
id: 3,
|
});
|
||||||
isFruit: true,
|
|
||||||
name: "banana",
|
it("tests setFruit mutation.", () => {
|
||||||
image: "/image/path.jpg",
|
setFruit(state, fruit);
|
||||||
price: "907.00",
|
expect(state.fruit.id).toBe(3);
|
||||||
color: "#763e44",
|
});
|
||||||
description: "Iusto illum vero voluptatem.",
|
|
||||||
taste: "Handcrafted",
|
it("tests addFruit mutation.", () => {
|
||||||
expires: "2021-04-11T08:54:24.588Z"
|
const newFruit = Object.assign({}, fruit);
|
||||||
}
|
newFruit.id = 4;
|
||||||
];
|
addFruit(state, newFruit);
|
||||||
const state = {
|
expect(state.fruits[0].id).toBe(3);
|
||||||
fruits: []
|
expect(state.fruits[1].id).toBe(4);
|
||||||
};
|
expect(state.fruits.length).toBe(2);
|
||||||
mutations.setFruits(state, fruits);
|
});
|
||||||
expect(state.fruits).toEqual([
|
|
||||||
{
|
it("tests removeFruit mutation.", () => {
|
||||||
id: 3,
|
removeFruit(state, 4);
|
||||||
isFruit: true,
|
expect(state.fruits[0].id).toBe(3);
|
||||||
name: "banana",
|
expect(state.fruits.length).toBe(1);
|
||||||
image: "/image/path.jpg",
|
|
||||||
price: "907.00",
|
|
||||||
color: "#763e44",
|
|
||||||
description: "Iusto illum vero voluptatem.",
|
|
||||||
taste: "Handcrafted",
|
|
||||||
expires: "2021-04-11T08:54:24.588Z"
|
|
||||||
}
|
|
||||||
]);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user