Skip to content
Snippets Groups Projects
Commit 51988e75 authored by lain's avatar lain
Browse files

Add repeat notifications.

parent ff93d1ed
No related branches found
No related tags found
No related merge requests found
......@@ -121,6 +121,10 @@ const addNewStatuses = (state, { statuses, showImmediately = false, timeline, us
if (result.new) {
updateMaxId(status)
if (statusType(status) === 'retweet' && status.retweeted_status.user.id === user.id) {
addNotification({ type: 'repeat', status: status.retweeted_status, action: status })
}
}
// Some statuses should only be added to the global status repository.
......@@ -201,6 +205,7 @@ const addNewStatuses = (state, { statuses, showImmediately = false, timeline, us
}
},
'default': (unknown) => {
console.log('unknown status type')
console.log(unknown)
}
}
......
......@@ -165,6 +165,22 @@ describe('The Statuses module', () => {
expect(retweet.retweeted_status.text).to.eql(modStatus.text)
})
it('adds a notfications for retweets if you are the retweetet', () => {
const user = { id: 1 }
const state = cloneDeep(defaultState)
const status = makeMockStatus({id: 1})
status.user = user
const retweet = makeMockStatus({id: 2, is_post_verb: false})
retweet.retweeted_status = status
mutations.addNewStatuses(state, { statuses: [retweet], user })
expect(state.notifications.length).to.eql(1)
expect(state.notifications[0].status).to.eql(status)
expect(state.notifications[0].action).to.eql(retweet)
expect(state.notifications[0].type).to.eql('repeat')
})
it('replaces existing statuses with the same id', () => {
const state = cloneDeep(defaultState)
const status = makeMockStatus({id: 1})
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment