diff --git a/webapp/components/FilterMenu/FilterMenu.spec.js b/webapp/components/FilterMenu/FilterMenu.spec.js
index c312a401b..030ad20da 100644
--- a/webapp/components/FilterMenu/FilterMenu.spec.js
+++ b/webapp/components/FilterMenu/FilterMenu.spec.js
@@ -9,9 +9,11 @@ localVue.use(Styleguide)
describe('FilterMenu.vue', () => {
let wrapper
let mocks
+ let propsData
const createWrapper = mountMethod => {
return mountMethod(FilterMenu, {
+ propsData,
mocks,
localVue,
})
@@ -19,35 +21,48 @@ describe('FilterMenu.vue', () => {
beforeEach(() => {
mocks = { $t: () => {} }
+ propsData = {}
})
- describe('mount', () => {
+ describe('given a user', () => {
beforeEach(() => {
- wrapper = createWrapper(mount)
+ propsData = {
+ user: {
+ id: '4711',
+ },
+ }
})
- it('renders a card', () => {
- expect(wrapper.is('.ds-card')).toBe(true)
- })
-
- describe('click "filter-by-followed-authors-only" button', () => {
- it('emits filterBubble object', () => {
- wrapper.find({ name: 'filter-by-followed-authors-only' }).trigger('click')
- expect(wrapper.emitted('changeFilterBubble')).toBeTruthy()
+ describe('mount', () => {
+ beforeEach(() => {
+ wrapper = createWrapper(mount)
})
- it('toggles filterBubble.author property', () => {
- wrapper.find({ name: 'filter-by-followed-authors-only' }).trigger('click')
- expect(wrapper.emitted('changeFilterBubble')[0]).toEqual([{ author: 'following' }])
- wrapper.find({ name: 'filter-by-followed-authors-only' }).trigger('click')
- expect(wrapper.emitted('changeFilterBubble')[1]).toEqual([{ author: 'all' }])
+ it('renders a card', () => {
+ expect(wrapper.is('.ds-card')).toBe(true)
})
- it('makes button primary', () => {
- wrapper.find({ name: 'filter-by-followed-authors-only' }).trigger('click')
- expect(
- wrapper.find({ name: 'filter-by-followed-authors-only' }).classes('ds-button-primary'),
- ).toBe(true)
+ describe('click "filter-by-followed-authors-only" button', () => {
+ it('emits filterBubble object', () => {
+ wrapper.find({ name: 'filter-by-followed-authors-only' }).trigger('click')
+ expect(wrapper.emitted('changeFilterBubble')).toBeTruthy()
+ })
+
+ it('toggles filterBubble.author property', () => {
+ wrapper.find({ name: 'filter-by-followed-authors-only' }).trigger('click')
+ expect(wrapper.emitted('changeFilterBubble')[0]).toEqual([
+ { author: { followedBy_some: { id: '4711' } } },
+ ])
+ wrapper.find({ name: 'filter-by-followed-authors-only' }).trigger('click')
+ expect(wrapper.emitted('changeFilterBubble')[1]).toEqual([{}])
+ })
+
+ it('makes button primary', () => {
+ wrapper.find({ name: 'filter-by-followed-authors-only' }).trigger('click')
+ expect(
+ wrapper.find({ name: 'filter-by-followed-authors-only' }).classes('ds-button-primary'),
+ ).toBe(true)
+ })
})
})
})
diff --git a/webapp/components/FilterMenu/FilterMenu.vue b/webapp/components/FilterMenu/FilterMenu.vue
index a2195a5fd..70dd3c236 100644
--- a/webapp/components/FilterMenu/FilterMenu.vue
+++ b/webapp/components/FilterMenu/FilterMenu.vue
@@ -11,7 +11,7 @@
@@ -22,24 +22,30 @@