[Rt-commit] rt branch, 4.4/recently-viewed-bogus-tickets, repushed
Michel Rodriguez
michel at bestpractical.com
Fri Mar 6 11:30:05 EST 2020
The branch 4.4/recently-viewed-bogus-tickets was deleted and repushed:
was 5e27684ce911dc350114c47f6f678798dd50124f
now dd95c46b91697608e1ee9c8789deaeb6d74790d4
1: 57a018617 ! 1: 840738e02 Fix RecentlyViewedTickets to deal with shredded/merged tickets.
@@ -10,8 +10,6 @@
RecentlyViewedTickets now returns a list of hashes { id => , subject => }
so that the code in the template doesn't have to deal with this
-
- Fixes: I#213199
diff --git a/lib/RT/User.pm b/lib/RT/User.pm
--- a/lib/RT/User.pm
@@ -45,7 +43,7 @@
+
+ foreach my $ticketRef ( @storedList ) {
+ my ($ticketId, $timestamp) = @$ticketRef;
-+ my $ticket = RT::Ticket->new( $self );
++ my $ticket = RT::Ticket->new( $self->CurrentUser );
+ $ticket->Load( $ticketId );
+ my $realId= $ticket->Id; # can be undef or changed in case of merge
+ if ( $ticket->Id && ! $seen{$realId} ) {
-: ------- > 2: 05e156db4 Fix bug that kept 11 tickets in the "recently visited" list instead of 10.
2: 5e27684ce ! 3: dd95c46b9 Test recently viewed tickets that are merged or shredded.
@@ -1,6 +1,6 @@
Author: michel <michel at bestpractical.com>
- Tests for recently-viewed-bogus-tickets.
+ Test recently viewed tickets that are merged or shredded.
diff --git a/t/api/user_recently_visited.t b/t/api/user_recently_visited.t
new file mode 100644
@@ -12,7 +12,6 @@
+
+# test the RecentlyViewedTickets method
+
-+use Test::Deep;
+use RT::Test::Shredder tests => undef;
+my $test = "RT::Test::Shredder";
+
@@ -29,7 +28,7 @@
+ 'granting rights'
+ );
+
-+ is( $user->_visited_nb, 0, 'init: empty RecentlyViewedTickets' );
++ is( visited_nb( $user ), 0, 'init: empty RecentlyViewedTickets' );
+
+ my %ticket;
+ foreach my $ticket_code ( 'a' .. 't' ) {
@@ -45,63 +44,66 @@
+ ; # needed for the tests with shredder to work
+ }
+
-+ is( $user->_visited_nb, 0,
-+ 'tickets created: empty RecentlyViewedTickets' );
++ is( visited_nb( $user ), 0,
++ 'tickets created: empty RecentlyViewedTickets'
++ );
+
+ # using reverse on the list so it's easier to read later (last visited is first in RecentlyViewedTicket)
+ foreach my $viewed ( reverse qw( c q p b e d c b a ) ) {
+ $user->AddRecentlyViewedTicket( $ticket{$viewed}->{ticket} );
+ }
+
-+ is( $user->_visited, 'c,q,p,b,e,d,a',
-+ 'visited tickets after inital visits' );
++ is( visited( $user ), 'c,q,p,b,e,d,a',
++ 'visited tickets after inital visits'
++ );
+
+ my $shredder = $test->shredder_new();
+
+ $shredder->PutObjects( Objects => $ticket{m}->{ticket} );
+ $shredder->WipeoutAll;
-+ is( $user->_visited, 'c,q,p,b,e,d,a',
-+ 'visited tickets after shredding an unvisited ticket' );
++ is( visited( $user ), 'c,q,p,b,e,d,a',
++ 'visited tickets after shredding an unvisited ticket'
++ );
+
+ $shredder->PutObjects( Objects => $ticket{p}->{ticket} );
+ $shredder->PutObjects( Objects => $ticket{d}->{ticket} );
+ $shredder->WipeoutAll;
-+ is( $user->_visited, 'c,q,b,e,a',
-+ 'visited tickets after shredding 2 visited tickets' );
++ is( visited( $user ), 'c,q,b,e,a',
++ 'visited tickets after shredding 2 visited tickets'
++ );
+
+ my ( $ok, $msg ) = $ticket{b}->{ticket}->MergeInto( $ticket{j}->{id} );
+ if ( !$ok ) { die "error merging: $msg\n"; }
-+ is( $user->_visited, 'c,q,j,e,a',
++ is( visited( $user ), 'c,q,j,e,a',
+ 'visited tickets after merging into a ticket that was NOT on the list'
-+ );
++ );
+
+ $ticket{c}->{ticket}->MergeInto( $ticket{a}->{id} );
-+ is( $user->_visited, 'a,q,j,e',
-+ 'visited tickets after merging into a ticket that was on the list' );
++ is( visited( $user ), 'a,q,j,e',
++ 'visited tickets after merging into a ticket that was on the list'
++ );
+
+ $ticket{e}->{ticket}->MergeInto( $ticket{j}->{id} );
-+ is( $user->_visited, 'a,q,j',
++ is( visited( $user ), 'a,q,j',
+ 'visited tickets after merging into a ticket that was on the list (merged)'
-+ );
++ );
+
+ foreach my $viewed ( reverse qw( r j a h k a q a k i s t f g d ) ) {
+ $user->AddRecentlyViewedTicket( $ticket{$viewed}->{ticket} );
+ }
+
-+ is( $user->_visited, 'r,j,a,h,k,q,i,s,t,f,g',
-+ 'visited more than 11 tickets' );
++ is( visited( $user ), 'r,j,a,h,k,q,i,s,t,f',
++ 'visited more than 10 tickets'
++ );
+
+}
+
+done_testing();
+
-+# monkey patching not strictly necessary, but makes for a nicer syntax in the tests
-+package RT::User;
-+
-+sub _visited_nb {
++sub visited_nb {
+ return scalar shift->RecentlyViewedTickets;
+}
+
-+sub _visited {
++sub visited {
+ return join ',', map { $_->{subject} } shift->RecentlyViewedTickets;
+}
More information about the rt-commit
mailing list