B2B-88: add starter kit structure and elements
This commit is contained in:
92
supabase copy/tests/database/memberships.test.sql
Normal file
92
supabase copy/tests/database/memberships.test.sql
Normal file
@@ -0,0 +1,92 @@
|
||||
begin;
|
||||
create extension "basejump-supabase_test_helpers" version '0.0.6';
|
||||
|
||||
select no_plan();
|
||||
|
||||
select makerkit.set_identifier('primary_owner', 'test@makerkit.dev');
|
||||
select makerkit.set_identifier('owner', 'owner@makerkit.dev');
|
||||
select makerkit.set_identifier('member', 'member@makerkit.dev');
|
||||
select makerkit.set_identifier('custom', 'custom@makerkit.dev');
|
||||
|
||||
-- another user not in the team
|
||||
select tests.create_supabase_user('test', 'test@supabase.com');
|
||||
|
||||
select makerkit.authenticate_as('owner');
|
||||
|
||||
-- Can check if an account is a team member
|
||||
|
||||
-- Primary owner
|
||||
select is(
|
||||
(select public.is_team_member(
|
||||
makerkit.get_account_id_by_slug('makerkit'),
|
||||
tests.get_supabase_uid('member')
|
||||
)),
|
||||
true,
|
||||
'The primary account owner can check if a member is a team member'
|
||||
);
|
||||
|
||||
select makerkit.authenticate_as('member');
|
||||
|
||||
-- Member
|
||||
select is(
|
||||
(select public.is_team_member(
|
||||
makerkit.get_account_id_by_slug('makerkit'),
|
||||
tests.get_supabase_uid('owner')
|
||||
)),
|
||||
true,
|
||||
'The member can check if another member is a team member'
|
||||
);
|
||||
|
||||
select is(
|
||||
(select public.has_role_on_account(
|
||||
makerkit.get_account_id_by_slug('makerkit')
|
||||
)),
|
||||
true,
|
||||
'The member can check if they have a role on the account'
|
||||
);
|
||||
|
||||
select isnt_empty(
|
||||
$$ select * from public.get_account_members('makerkit') $$,
|
||||
'The member can query the team account memberships using the get_account_members function'
|
||||
);
|
||||
|
||||
select makerkit.authenticate_as('test');
|
||||
|
||||
-- Foreigners
|
||||
-- Cannot query the team account memberships
|
||||
select is(
|
||||
(select public.is_team_member(
|
||||
makerkit.get_account_id_by_slug('makerkit'),
|
||||
tests.get_supabase_uid('owner')
|
||||
)),
|
||||
false,
|
||||
'The foreigner cannot check if a member is a team member'
|
||||
);
|
||||
|
||||
-- Does not have a role on the account
|
||||
select is(
|
||||
(select public.has_role_on_account(
|
||||
makerkit.get_account_id_by_slug('makerkit')
|
||||
)),
|
||||
false,
|
||||
'The foreigner does not have a role on the account'
|
||||
);
|
||||
|
||||
select is_empty(
|
||||
$$ select * from public.accounts_memberships where account_id = makerkit.get_account_id_by_slug('makerkit') $$,
|
||||
'The foreigner cannot query the team account memberships'
|
||||
);
|
||||
|
||||
select is_empty(
|
||||
$$ select * from public.accounts where id = makerkit.get_account_id_by_slug('makerkit') $$,
|
||||
'The foreigner cannot query the team account'
|
||||
);
|
||||
|
||||
select is_empty(
|
||||
$$ select * from public.get_account_members('makerkit') $$,
|
||||
'The foreigner cannot query the team members'
|
||||
);
|
||||
|
||||
select * from finish();
|
||||
|
||||
rollback;
|
||||
Reference in New Issue
Block a user