diff options
author | Dave Arter <davea@mysociety.org> | 2019-06-19 15:47:39 +0100 |
---|---|---|
committer | Dave Arter <davea@mysociety.org> | 2019-08-16 12:01:13 +0100 |
commit | c9d9b448556f739a6a85718103fd5ec2c5ac18f2 (patch) | |
tree | 426dacbf84359faa5ae402e317a11c6224962fd8 /t/app | |
parent | 8d9429a690dc6814ca3f356eb2c67cfa045dfbec (diff) |
DB changes to support OIDC auth
Diffstat (limited to 't/app')
-rw-r--r-- | t/app/model/user.t | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/t/app/model/user.t b/t/app/model/user.t index cbc0fe6cf..88b29ca84 100644 --- a/t/app/model/user.t +++ b/t/app/model/user.t @@ -75,6 +75,31 @@ subtest 'Check non-existent methods on user object die' => sub { ); }; +subtest 'OIDC ids can be manipulated correctly' => sub { + my $user = $problem->user; + + is $user->oidc_ids, undef, 'user starts with no OIDC ids'; + + $user->add_oidc_id("fixmystreet:1234:5678"); + is_deeply $user->oidc_ids, ["fixmystreet:1234:5678"], 'OIDC id added correctly'; + + $user->add_oidc_id("mycobrand:0123:abcd"); + is_deeply [ sort @{$user->oidc_ids} ], ["fixmystreet:1234:5678", "mycobrand:0123:abcd"], 'Second OIDC id added correctly'; + + $user->add_oidc_id("mycobrand:0123:abcd"); + is_deeply [ sort @{$user->oidc_ids} ], ["fixmystreet:1234:5678", "mycobrand:0123:abcd"], 'Adding existing OIDC id does not add duplicate'; + + $user->remove_oidc_id("mycobrand:0123:abcd"); + is_deeply $user->oidc_ids, ["fixmystreet:1234:5678"], 'OIDC id can be removed OK'; + + $user->remove_oidc_id("mycobrand:0123:abcd"); + is_deeply $user->oidc_ids, ["fixmystreet:1234:5678"], 'Removing non-existent OIDC id has no effect'; + + $user->remove_oidc_id("fixmystreet:1234:5678"); + is $user->oidc_ids, undef, 'Removing last OIDC id results in undef'; + +}; + done_testing(); sub create_update { |