logo

pleroma-fe

My custom branche(s) on git.pleroma.social/pleroma/pleroma-fe
commit: ff93d1edeefae88cc1b9e9efe4f22c8787e5f792
parent: 4228f49e7b90bf60af32deb72b22b2bd108ec1c8
Author: Roger Braun <roger@rogerbraun.net>
Date:   Sun, 27 Nov 2016 18:54:17 +0100

Parse mastodon favorites.

Diffstat:

Msrc/modules/statuses.js4++--
Mtest/unit/specs/modules/statuses.spec.js17++++++++++++++++-
2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/src/modules/statuses.js b/src/modules/statuses.js @@ -62,7 +62,7 @@ export const updateTimestampsInStatuses = (statuses) => { }) } -const statusType = (status) => { +export const statusType = (status) => { if (status.is_post_verb) { return 'status' } @@ -71,7 +71,7 @@ const statusType = (status) => { return 'retweet' } - if (typeof status.uri === 'string' && status.uri.match(/fave/)) { + if (typeof status.uri === 'string' && status.uri.match(/(fave|objectType=Favourite)/)) { return 'favorite' } diff --git a/test/unit/specs/modules/statuses.spec.js b/test/unit/specs/modules/statuses.spec.js @@ -1,5 +1,5 @@ import { cloneDeep } from 'lodash' -import { defaultState, mutations, findMaxId, prepareStatus } from '../../../../src/modules/statuses.js' +import { defaultState, mutations, findMaxId, prepareStatus, statusType } from '../../../../src/modules/statuses.js' const makeMockStatus = ({id, text, is_post_verb = true}) => { return { @@ -13,6 +13,21 @@ const makeMockStatus = ({id, text, is_post_verb = true}) => { } } +describe('Statuses.statusType', () => { + it('identifies favorites', () => { + const fav = { + uri: 'tag:soykaf.com,2016-08-21:fave:2558:note:339495:2016-08-21T16:54:04+00:00' + } + + const mastoFav = { + uri: 'tag:mastodon.social,2016-11-27:objectId=73903:objectType=Favourite' + } + + expect(statusType(fav)).to.eql('favorite') + expect(statusType(mastoFav)).to.eql('favorite') + }) +}) + describe('Statuses.prepareStatus', () => { it('sets nsfw for statuses with the #nsfw tag', () => { const safe = makeMockStatus({id: 1, text: 'Hello oniichan'})