Normalize mentions, add tests

This commit is contained in:
Alex Gleason
2022-02-23 22:31:35 -05:00
parent 02f05abeaa
commit 331b239cc9
3 changed files with 29 additions and 6 deletions

View File

@ -3,6 +3,18 @@ import { fromJS } from 'immutable';
import { normalizeStatus } from '../status';
describe('normalizeStatus', () => {
it('adds base fields', () => {
const status = fromJS({});
const result = normalizeStatus(status);
expect(result.get('emojis')).toEqual(fromJS([]));
expect(result.get('favourites_count')).toBe(0);
expect(result.get('mentions')).toEqual(fromJS([]));
expect(result.get('reblog')).toBe(null);
expect(result.get('uri')).toBe('');
expect(result.get('visibility')).toBe('public');
});
it('fixes the order of mentions', () => {
const status = fromJS(require('soapbox/__fixtures__/status-unordered-mentions.json'));
@ -31,6 +43,20 @@ describe('normalizeStatus', () => {
expect(result).toEqual(expected);
});
it('normalizes mentions with only acct', () => {
const status = fromJS({ mentions: [{ acct: 'alex@gleasonator.com' }] });
const expected = fromJS([{
acct: 'alex@gleasonator.com',
username: 'alex',
url: '',
}]);
const result = normalizeStatus(status).get('mentions');
expect(result).toEqual(expected);
});
it('normalizes Mitra attachments', () => {
const status = fromJS(require('soapbox/__fixtures__/mitra-status-with-attachments.json'));