mirror of https://github.com/artifacthub/hub.git
52 lines
1.6 KiB
SQL
52 lines
1.6 KiB
SQL
-- Start transaction and plan tests
|
|
begin;
|
|
select plan(4);
|
|
|
|
-- Seed user
|
|
insert into "user" (user_id, alias, email, email_verified)
|
|
values ('00000000-0000-0000-0000-000000000001', 'user1', 'user1@email.com', true);
|
|
insert into "user" (user_id, alias, email, email_verified)
|
|
values ('00000000-0000-0000-0000-000000000002', 'user2', 'user2@email.com', false);
|
|
|
|
-- Register password reset code
|
|
select register_password_reset_code('user1@email.com', 'code1');
|
|
select is(
|
|
password_reset_code_id,
|
|
'code1',
|
|
'Password reset code for user1 should be registered'
|
|
)
|
|
from password_reset_code
|
|
join "user" using (user_id)
|
|
where alias = 'user1';
|
|
|
|
-- Register another password reset code for the same user
|
|
select register_password_reset_code('user1@email.com', 'code2');
|
|
select is(
|
|
password_reset_code_id,
|
|
'code2',
|
|
'Password reset code for user1 should have been updated'
|
|
)
|
|
from password_reset_code
|
|
join "user" using (user_id)
|
|
where alias = 'user1';
|
|
|
|
-- Try registering password reset code using non verified email
|
|
select throws_ok(
|
|
$$ select register_password_reset_code('user2@email.com', 'code') $$,
|
|
'P0001',
|
|
'invalid email',
|
|
'No password reset code should be registered for non verified email user2@email.com'
|
|
);
|
|
|
|
-- Try registering password reset code using unregistered email
|
|
select throws_ok(
|
|
$$ select register_password_reset_code('user3@email.com', 'code') $$,
|
|
'P0001',
|
|
'invalid email',
|
|
'No password reset code should be registered for unregistered email user3@email.com'
|
|
);
|
|
|
|
-- Finish tests and rollback transaction
|
|
select * from finish();
|
|
rollback;
|