UNPKG

willow-plugin-exp

Version:

A plugin for willow that allows users to collect exp, gain levels, and be assigned roles.

57 lines (51 loc) 3.37 kB
import chai from 'chai'; import assertArrays from 'chai-arrays'; chai.use(assertArrays); const expect = chai.expect; import PsyduckQuotes, { commandOptions } from '../source'; const extractUserIdRuns = [ { options: { user: '<@344587711396708357>' }, expected: '344587711396708357' }, { options: { user: '<@1234567890>' }, expected: '1234567890' }, { options: { user: '<@9999911119919191>' }, expected: '9999911119919191' }, { options: { user: '<@0987654321>' }, expected: '0987654321' }, { options: { user: '<@6758493021>' }, expected: '6758493021' }, { options: { user: '<@11223344556677889900>' }, expected: '11223344556677889900' }, { options: { user: '<@121314151617181910>' }, expected: '121314151617181910' }, { options: { user: '<@657574848393929291010>' }, expected: '657574848393929291010' }, { options: { user: '<@11991199119911>' }, expected: '11991199119911' }, { options: { user: '<@13141415151616>' }, expected: '13141415151616' } ]; const parseParametersRuns = [ { parameterString: '!q <@344587711396708357> -p 3', expected: ['<@344587711396708357>', '-p', '3'] }, { parameterString: '!quote <@1234567890> -p 4', expected: ['<@1234567890>', '-p', '4'] }, { parameterString: '!q <@9999911119919191> --pluck 1', expected: ['<@9999911119919191>', '--pluck', '1'] }, { parameterString: '!quote <@0987654321> -p 8', expected: ['<@0987654321>', '-p', '8'] }, { parameterString: '!r <@6758493021>', expected: ['<@6758493021>'] }, { parameterString: '!random <@11223344556677889900>', expected: ['<@11223344556677889900>'] }, { parameterString: '!r <@121314151617181910>', expected: ['<@121314151617181910>'] }, { parameterString: '!random <@657574848393929291010>', expected: ['<@657574848393929291010>'] }, { parameterString: '!r <@11991199119911>', expected: ['<@11991199119911>'] }, { parameterString: '!q <@13141415151616> -p 9', expected: ['<@13141415151616>', '-p', '9'] } ]; const hydrateOptionsRuns = [ { params: ['<@344587711396708357>', '-p', '3'], expected: { user: '<@344587711396708357>', pluck: 3 } }, { params: ['<@1234567890>', '-p', '4'], expected: { user: '<@1234567890>', pluck: 4 } }, { params: ['<@9999911119919191>', '--pluck', '1'], expected: { user: '<@9999911119919191>', pluck: 1 } }, { params: ['<@0987654321>', '-p', '8'], expected: { user: '<@0987654321>', pluck: 8 } }, { params: ['<@6758493021>'], expected: { user: '<@6758493021>' } }, { params: ['<@11223344556677889900>'], expected: { user: '<@11223344556677889900>' } }, { params: ['<@121314151617181910>'], expected: { user: '<@121314151617181910>' } }, { params: ['<@657574848393929291010>'], expected: { user: '<@657574848393929291010>' } }, { params: ['<@11991199119911>'], expected: { user: '<@11991199119911>' } }, { params: ['<@13141415151616>', '-p', '9'], expected: { user: '<@13141415151616>', pluck: 9 } } ]; describe('Quote Plugin', () => { describe('extractUserId()', () => { extractUserIdRuns.forEach(run => { it('Should parse the discord user id out of a mention block', () => { const plugin = new PsyduckQuotes({}); expect(plugin.extractUserId(run.options.user)).to.equal(run.expected); }); }); }); });