From ff350bd62f24ea923c8deff3113708eb5eb23da4 Mon Sep 17 00:00:00 2001 From: frcroth Date: Fri, 3 Jun 2022 12:49:09 +0200 Subject: [PATCH] Add test for enter/leave commands --- .github/workflows/tests.yml | 15 +++++++++++ myhpi/wagtail_markdown/minutes_extensions.py | 5 +--- tests/test_minutes_extensions.py | 28 ++++++++++++++++++++ 3 files changed, 44 insertions(+), 4 deletions(-) create mode 100644 tests/test_minutes_extensions.py diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 563b61cd..76be5949 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -96,10 +96,25 @@ jobs: postgresql password: pass if: matrix.database == 'postgres' + - name: Setup postgres dependency + run: | + source env/bin/activate + poetry add psycopg2 + if: matrix.database == 'postgres' + + #- uses: mirromutth/mysql-action@v1.1 + # with: + # mysql database: 'myHPI' + # mysql root password: 'root' + # if: matrix.database == 'mysql' + - name: Setup mysql run: | sudo systemctl start mysql.service mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -uroot -proot -Dmysql + echo "CREATE DATABASE myHPI;" | mysql -uroot -proot + source env/bin/activate + poetry add mysqlclient if: matrix.database == 'mysql' - name: Test apps diff --git a/myhpi/wagtail_markdown/minutes_extensions.py b/myhpi/wagtail_markdown/minutes_extensions.py index 038430bd..9d85752f 100644 --- a/myhpi/wagtail_markdown/minutes_extensions.py +++ b/myhpi/wagtail_markdown/minutes_extensions.py @@ -103,10 +103,7 @@ def __init__(self, *args, **kwargs): r"\|enter\|\(([0-9:]+)\)\(([^\)\(]+)\)(\((?P.*?)\))?", self.enterify, ), - ( - r"\|leave\|\(([0-9:]+)\)\(([^\)\(]+)\)", - self.leavify - ), + (r"\|leave\|\(([0-9:]+)\)\(([^\)\(]+)\)", self.leavify), ] def enter_or_leavify(self, match, event): diff --git a/tests/test_minutes_extensions.py b/tests/test_minutes_extensions.py new file mode 100644 index 00000000..cf923f70 --- /dev/null +++ b/tests/test_minutes_extensions.py @@ -0,0 +1,28 @@ +import django +import pytest +from django.test import TestCase + +django.setup() + +from myhpi.wagtail_markdown.minutes_extensions import EnterLeavePreprocessor + + +class TestMinuteExtensions(TestCase): + def test_enter(self): + elp = EnterLeavePreprocessor() + text = [ + "|enter|(12:00)(First Last)", + "|enter|(12:00)(Prof. First Last)", + "|enter|(12:00)(Prof. First Last)(Means)", + "|leave|(12:00)(Prof. First Last)", + ] + result = elp.run(text) + self.assertEqual( + result, + [ + "*12:00: First Last enters the meeting* ", + "*12:00: Prof. First Last enters the meeting* ", + "*12:00: Prof. First Last enters the meeting via Means* ", + "*12:00: Prof. First Last leaves the meeting* ", + ], + )