UNPKG

wikibase-edit

Version:

Edit Wikibase from NodeJS

72 lines 2.51 kB
import should from 'should'; import { setSitelink } from '../../../src/lib/sitelink/set.js'; import { shouldNotBeCalled } from '../../integration/utils/utils.js'; import { assert } from '../utils.js'; describe('set sitelink', () => { it('should return wbsetsitelink params', () => { const { action, data } = setSitelink({ id: 'Q123', site: 'frwiki', title: 'Septembre', }); action.should.equal('wbsetsitelink'); data.id.should.equal('Q123'); data.linksite.should.equal('frwiki'); data.linktitle.should.equal('Septembre'); assert(!('badges' in data)); }); it('should reject without title', () => { try { // @ts-expect-error const res = setSitelink({ id: 'Q123', site: 'frwiki', }); shouldNotBeCalled(res); } catch (err) { err.message.should.containEql('invalid title'); err.statusCode.should.equal(400); } }); it('should accept with a null title to delete the sitelink', () => { const { action, data } = setSitelink({ id: 'Q123', site: 'frwiki', title: null, }); action.should.equal('wbsetsitelink'); data.id.should.equal('Q123'); data.linksite.should.equal('frwiki'); should(data.linktitle).be.Undefined(); }); it('should accept badges as a string', () => { const { action, data } = setSitelink({ id: 'Q123', site: 'frwiki', title: 'Septembre', badges: 'Q17437796|Q17437798', }); action.should.equal('wbsetsitelink'); data.id.should.equal('Q123'); data.linksite.should.equal('frwiki'); data.linktitle.should.equal('Septembre'); assert('badges' in data); data.badges.should.equal('Q17437796|Q17437798'); }); it('should accept badges as an array', () => { const { action, data } = setSitelink({ id: 'Q123', site: 'frwiki', title: 'Septembre', badges: 'Q17437796|Q17437798', }); action.should.equal('wbsetsitelink'); data.id.should.equal('Q123'); data.linksite.should.equal('frwiki'); data.linktitle.should.equal('Septembre'); assert('badges' in data); data.badges.should.equal('Q17437796|Q17437798'); }); }); //# sourceMappingURL=set.js.map