Add shell plugin model tests
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
source "$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)/base-test.sh"
|
||||
|
||||
run_node_test <<'JS'
|
||||
const reminders = requireFromRoot('shell/plugins/reminders/ReminderFlowModel.js')
|
||||
|
||||
assertEqual(reminders.validMinutes('15'), '15', 'reminders accepts positive integer minutes')
|
||||
assertEqual(reminders.validMinutes(' 5 '), '5', 'reminders trims minute input')
|
||||
assertEqual(reminders.validMinutes('0'), '', 'reminders rejects zero minutes')
|
||||
assertEqual(reminders.validMinutes('-5'), '', 'reminders rejects negative minutes')
|
||||
assertEqual(reminders.validMinutes('1.5'), '', 'reminders rejects fractional minutes')
|
||||
assertEqual(reminders.validMinutes('soon'), '', 'reminders rejects non-numeric minutes')
|
||||
|
||||
assertDeepEqual(
|
||||
reminders.reminderArgs('10', 'Check the oven'),
|
||||
['10', 'Check the oven'],
|
||||
'reminders builds command args with message'
|
||||
)
|
||||
|
||||
assertDeepEqual(
|
||||
reminders.reminderArgs('10', ''),
|
||||
['10'],
|
||||
'reminders omits empty message arg'
|
||||
)
|
||||
|
||||
assertDeepEqual(
|
||||
reminders.reminderArgs('0', 'ignored'),
|
||||
[],
|
||||
'reminders command args are empty for invalid minutes'
|
||||
)
|
||||
JS
|
||||
Reference in New Issue
Block a user