From 2ad7fbc35c13093c3d13c796ea4fe4f03592d3db Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Tue, 25 Aug 2020 16:21:39 +0200 Subject: prohibit pure numerical names --- geldschieberbot.py | 8 +++++++- test.py | 17 +++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/geldschieberbot.py b/geldschieberbot.py index 44327e1..a2c5186 100644 --- a/geldschieberbot.py +++ b/geldschieberbot.py @@ -207,11 +207,17 @@ def register(sender, args, msg): return None, f'not in form "{args[0]} name"' name = args[1] + try: + to_cent(name) + return None, "pure numerical names are not allowed" + except: + pass + if name in name2num: return None, f"{name} already registered" if sender in num2name: - return None,"you are already registered" + return None, "you are already registered" num2name[sender] = name name2num[name] = sender diff --git a/test.py b/test.py index 929605c..56f6949 100755 --- a/test.py +++ b/test.py @@ -106,6 +106,13 @@ class TestRegCmd(unittest.TestCase): res = run_bot(self, num[alice], "!reg nase 03") self.assertEqual(res.stdout, 'ERROR: not in form "!reg name"') + def test_numerical_reg(self): + res = run_bot(self, num[alice], "!reg 9") + self.assertEqual(res.stdout, 'ERROR: pure numerical names are not allowed') + + res = run_bot(self, num[alice], "!reg 9.7") + self.assertEqual(res.stdout, 'ERROR: pure numerical names are not allowed') + def test_additional_reg(self): res = run_bot(self, num[alice], "!reg "+alice) self.assertEqual(res.stdout, 'Happy geldschiebing {}!'.format(alice)) @@ -317,6 +324,16 @@ alice: \t<- charlie 10.00 \tBalance: 10.00""" self.assertEqual(res.stdout, msg) + + def test_split_with_double_user(self): + res = run_bot(self, num[alice], f"!split 30 {charlie} {charlie}") + msg = \ +"""Split 30.00 between 3 -> 10.00 each +New Balance: +alice: +\t<- charlie 20.00 +\tBalance: 20.00""" + self.assertEqual(res.stdout, msg) def test_split(self): res = run_bot(self, num[alice], "!split 30 " + bob + " " + charlie) -- cgit v1.2.3