diff options
Diffstat (limited to 'rt/t/web/dashboards-search-cache.t')
-rw-r--r-- | rt/t/web/dashboards-search-cache.t | 46 |
1 files changed, 41 insertions, 5 deletions
diff --git a/rt/t/web/dashboards-search-cache.t b/rt/t/web/dashboards-search-cache.t index 517e26ee6..18989d54e 100644 --- a/rt/t/web/dashboards-search-cache.t +++ b/rt/t/web/dashboards-search-cache.t @@ -1,7 +1,7 @@ use strict; use warnings; -use RT::Test tests => 20; +use RT::Test tests => 33; my ($baseurl, $m) = RT::Test->started_ok; my $url = $m->rt_base_url; @@ -20,6 +20,16 @@ $m->form_name('BuildQuery'); $m->field(SavedSearchDescription => 'Original Name'); $m->click('SavedSearchSave'); +# create the inner dashboard +$m->get_ok("$url/Dashboards/Modify.html?Create=1"); +$m->form_name('ModifyDashboard'); +$m->field('Name' => 'inner dashboard'); +$m->click_button(value => 'Create'); +$m->text_contains('Saved dashboard inner dashboard'); + +my ($inner_id) = $m->content =~ /name="id" value="(\d+)"/; +ok($inner_id, "got an ID, $inner_id"); + # create a dashboard $m->get_ok("$url/Dashboards/Modify.html?Create=1"); $m->form_name('ModifyDashboard'); @@ -34,16 +44,28 @@ ok($dashboard_id, "got an ID, $dashboard_id"); $m->follow_link_ok({text => 'Content'}); my $form = $m->form_name('Dashboard-Searches-body'); my @input = $form->find_input('Searches-body-Available'); -my ($search) = +my ($search_value) = map { ( $_->possible_values )[1] } grep { ( $_->value_names )[1] =~ /Saved Search: Original Name/ } @input; -$form->value('Searches-body-Available' => $search ); +$form->value('Searches-body-Available' => $search_value ); +$m->click_button(name => 'add'); +$m->text_contains('Dashboard updated'); + +# add the dashboard to the dashboard +$m->follow_link_ok({text => 'Content'}); +$form = $m->form_name('Dashboard-Searches-body'); +@input = $form->find_input('Searches-body-Available'); +my ($dashboard_value) = + map { ( $_->possible_values )[1] } + grep { ( $_->value_names )[1] =~ /Dashboard: inner dashboard/ } @input; +$form->value('Searches-body-Available' => $dashboard_value ); $m->click_button(name => 'add'); $m->text_contains('Dashboard updated'); # subscribe to the dashboard $m->follow_link_ok({text => 'Subscription'}); $m->text_contains('Saved Search: Original Name'); +$m->text_contains('Dashboard: inner dashboard'); $m->form_name('SubscribeDashboard'); $m->click_button(name => 'Save'); $m->text_contains('Subscribed to dashboard cachey dashboard'); @@ -52,10 +74,10 @@ $m->text_contains('Subscribed to dashboard cachey dashboard'); $m->follow_link_ok({text => 'Tickets'}, 'to query builder'); $form = $m->form_name('BuildQuery'); @input = $form->find_input('SavedSearchLoad'); -($search) = +($search_value) = map { ( $_->possible_values )[1] } grep { ( $_->value_names )[1] =~ /Original Name/ } @input; -$form->value('SavedSearchLoad' => $search ); +$form->value('SavedSearchLoad' => $search_value ); $m->click_button(value => 'Load'); $m->text_contains('Loaded saved search "Original Name"'); @@ -64,10 +86,24 @@ $m->field('SavedSearchDescription' => 'New Name'); $m->click_button(value => 'Update'); $m->text_contains('Updated saved search "New Name"'); +# rename the dashboard +$m->get_ok("/Dashboards/Modify.html?id=$inner_id"); +$m->form_name('ModifyDashboard'); +$m->field('Name' => 'recursive dashboard'); +$m->click_button(value => 'Save Changes'); +$m->text_contains('Dashboard recursive dashboard updated'); + # check subscription page again $m->get_ok("/Dashboards/Subscription.html?id=$dashboard_id"); TODO: { local $TODO = 'we cache search names too aggressively'; $m->text_contains('Saved Search: New Name'); $m->text_unlike(qr/Saved Search: Original Name/); # t-w-m lacks text_lacks + + $m->text_contains('Dashboard: recursive dashboard'); + $m->text_unlike(qr/Dashboard: inner dashboard/); # t-w-m lacks text_lacks } + +$m->get_ok("/Dashboards/Render.html?id=$dashboard_id"); +$m->text_contains('New Name'); +$m->text_unlike(qr/Original Name/); # t-w-m lacks text_lacks |