aboutsummaryrefslogtreecommitdiffstats
path: root/test/functions.sql
diff options
context:
space:
mode:
authorsadbeast <sadbeast@sadbeast.com>2024-06-23 15:36:59 -0700
committersadbeast <sadbeast@sadbeast.com>2024-07-13 21:58:23 -0700
commit8d018d996c1eddb882dc64ebbd228bb0135944f3 (patch)
treed01956546a77dbae33357c9a5d174f511ac9b282 /test/functions.sql
downloadteamdraft-8d018d996c1eddb882dc64ebbd228bb0135944f3.tar.gz
teamdraft-8d018d996c1eddb882dc64ebbd228bb0135944f3.tar.bz2
Diffstat (limited to 'test/functions.sql')
-rw-r--r--test/functions.sql38
1 files changed, 38 insertions, 0 deletions
diff --git a/test/functions.sql b/test/functions.sql
new file mode 100644
index 0000000..e7dbce2
--- /dev/null
+++ b/test/functions.sql
@@ -0,0 +1,38 @@
+BEGIN;
+SELECT plan(10);
+
+SELECT has_function('current_season');
+SELECT function_lang_is('current_season', 'sql');
+SELECT function_returns('current_season', 'integer');
+
+INSERT INTO seasons (started_at, ended_at) VALUES (NOW(), NOW() + interval '3 months');
+SELECT results_eq(
+ 'SELECT current_season()',
+ 'SELECT 1',
+ 'should select a season'
+);
+
+SELECT has_function('category_score');
+SELECT function_lang_is('category_score', 'plpgsql');
+SELECT function_returns('category_score', 'smallint');
+
+SELECT results_eq(
+ $$SELECT category_score('win')$$,
+ 'SELECT 1::smallint'
+);
+
+SELECT results_eq(
+ 'SELECT category_score(''superbowl''),'
+ || 'category_score(''conference'')',
+ 'SELECT 10::smallint, 10::smallint'
+);
+
+SELECT results_eq(
+ 'SELECT category_score(''playoffs''), '
+ || 'category_score(''divisional''),'
+ || 'category_score(''champion'')',
+ 'SELECT 5::smallint, 5::smallint, 5::smallint'
+);
+
+SELECT * FROM finish();
+ROLLBACK;