Merge pull request #5191 from solgenomics/topic/quality_control
[sgn.git] / t / unit_mech / AJAX / Roles.t
blobbd78e0caf3ea796fb852e2f7d358052273995182
2 =head1 NAME
4 t/unit_mech/AJAX/Roles.t - quick test for retrieve role function.
6 A more extensive test of the functionality will be implemented in selenium.
8 =head1 AUTHOR
10 Lukas Mueller
12 =cut
14 use strict;
15 use warnings;
17 use lib 't/lib';
18 use SGN::Test::Fixture;
19 use Test::More;
20 use Test::WWW::Mechanize;
22 use Data::Dumper;
23 use JSON::XS;
24 local $Data::Dumper::Indent = 0;
26 my $f = SGN::Test::Fixture->new();
27 my $mech = Test::WWW::Mechanize->new;
28 my $response;
30 $mech->get_ok('http://localhost:3010/ajax/user/login?username=janedoe&password=secretpw');
33 $response = decode_json $mech->content;
35 print STDERR Dumper $response;
36 is($response->{message}, 'Login successful');
38 $mech->get_ok('http://localhost:3010/ajax/roles/list', 'get /ajax/roles/list');
40 print STDERR "MECH CONTENT : ".$mech->content()."\n\n\n";
41 $response = $mech->content;
43 print STDERR Dumper $response;
45 ok($response =~ m/Fred Sanger/, 'user name test for Freddy');
46 ok($response =~ m/curator/, 'user role test curator Freddy'); 
47 ok($response =~ m/Jane Doe/, 'user name test Jane');
48 ok($response =~ m/John Doe/, 'user name test John');
49 ok($response =~ m/curator/, 'check curator role present (for Freddy)');
51 # delete a role
52 print STDERR "Deleting role...\n";
53 $mech->get_ok('http://localhost:3010/ajax/roles/delete/association/71', 'delete role association');
55 $mech->get_ok('http://localhost:3010/ajax/roles/list', 'get updated role list after delete');
56 $response = $mech->content;
58 print STDERR "After deletion: $response\n";
59 ok($response !~ m/submitter/, 'check if curator role disappeared');
61 $mech->get_ok('http://localhost:3010/ajax/people/add_person_role?sp_role_id=4&sp_person_id=40');
62 $response = $mech->content();
64 $mech->get_ok('http://localhost:3010/ajax/roles/list', 'get updated roles after insert.');
65 $response = $mech->content();
67 print STDERR Dumper "AFTER INSERT :". $response;
68 ok($response =~ m/user/, 'check if curator role has re-appeared');
70 done_testing;