diff --git a/pages/admin/categories.spec.js b/pages/admin/categories.spec.js new file mode 100644 index 000000000..a3b44de0d --- /dev/null +++ b/pages/admin/categories.spec.js @@ -0,0 +1,67 @@ +import { shallowMount, mount } from '@vue/test-utils' +import Categories from './categories.vue' + +const someCategories = [ + { + id: 'cat1', + name: 'Just For Fun', + slug: 'justforfun', + icon: 'smile', + postCount: 5 + }, + { + id: 'cat2', + name: 'Happyness & Values', + slug: 'happyness-values', + icon: 'heart-o', + postCount: 2 + }, + { + id: 'cat3', + name: 'Health & Wellbeing', + slug: 'health-wellbeing', + icon: 'medkit', + postCount: 1 + }, + { + id: 'cat4', + name: 'Environment & Nature', + slug: 'environment-nature', + icon: 'tree', + postCount: 1 + }, + { + id: 'cat5', + name: 'Animal Protection', + slug: 'animalprotection', + icon: 'paw', + postCount: 1 + } +] + +describe('Categories.vue', () => { + let wrapper + + beforeEach(() => { + wrapper = mount(Categories, {}) + }) + + it('renders', () => { + expect(wrapper.is('div')).toBe(true) + }) + + describe('given some categories', () => { + beforeEach(() => { + wrapper = mount(Categories, { + propsData: { + Categories: someCategories + } + }) + }) + + it('renders a row for each category', () => { + console.log(wrapper.html()) + expect(wrapper.findAll('tr')).toHaveLength(5) + }) + }) +}) diff --git a/pages/admin/categories.vue b/pages/admin/categories.vue index e09db79c0..ddd5f72f8 100644 --- a/pages/admin/categories.vue +++ b/pages/admin/categories.vue @@ -20,8 +20,16 @@