View | Details | Raw Unified | Return to bug 30645
Collapse All | Expand All

(-)a/t/db_dependent/selenium/patrons_search.t (-11 / +30 lines)
Lines 61-67 my $builder = t::lib::TestBuilder->new; Link Here
61
my $schema        = Koha::Database->schema;
61
my $schema        = Koha::Database->schema;
62
62
63
subtest 'Search patrons' => sub {
63
subtest 'Search patrons' => sub {
64
    plan tests => 27;
64
    plan tests => 28;
65
65
66
    if ( Koha::Patrons->search({surname => {-like => "test_patron_%"}})->count ) {
66
    if ( Koha::Patrons->search({surname => {-like => "test_patron_%"}})->count ) {
67
        BAIL_OUT("Cannot run this test, data we need to create already exist in the DB");
67
        BAIL_OUT("Cannot run this test, data we need to create already exist in the DB");
Lines 152-158 subtest 'Search patrons' => sub { Link Here
152
            searched_by_default => 0
152
            searched_by_default => 0
153
        }
153
        }
154
    )->store;
154
    )->store;
155
    my $attribute_type_searchable = Koha::Patron::Attribute::Type->new(
155
    my $attribute_type_searchable_1 = Koha::Patron::Attribute::Type->new(
156
        {
156
        {
157
            code             => 'my code2',
157
            code             => 'my code2',
158
            description      => 'my description2',
158
            description      => 'my description2',
Lines 161-186 subtest 'Search patrons' => sub { Link Here
161
            searched_by_default => 1
161
            searched_by_default => 1
162
        }
162
        }
163
    )->store;
163
    )->store;
164
    my $attribute_type_searchable_not_default = Koha::Patron::Attribute::Type->new(
164
    my $attribute_type_searchable_2 = Koha::Patron::Attribute::Type->new(
165
        {
165
        {
166
            code             => 'mycode3',
166
            code             => 'my code3',
167
            description      => 'my description3',
167
            description      => 'my description3',
168
            opac_display     => 1,
168
            opac_display     => 1,
169
            staff_searchable => 1,
169
            staff_searchable => 1,
170
            searched_by_default => 1
171
        }
172
    )->store;
173
    my $attribute_type_searchable_not_default = Koha::Patron::Attribute::Type->new(
174
        {
175
            code             => 'mycode4',
176
            description      => 'my description4',
177
            opac_display     => 1,
178
            staff_searchable => 1,
170
            searched_by_default => 0
179
            searched_by_default => 0
171
        }
180
        }
172
    )->store;
181
    )->store;
173
    push @cleanup, $attribute_type, $attribute_type_searchable, $attribute_type_searchable_not_default;
182
    push @cleanup, $attribute_type, $attribute_type_searchable_1, $attribute_type_searchable_2, $attribute_type_searchable_not_default;
174
183
175
    $patrons[0]->extended_attributes([
184
    $patrons[0]->extended_attributes([
176
        { code => $attribute_type->code, attribute => 'test_attr_1' },
185
        { code => $attribute_type->code, attribute => 'test_attr_1' },
177
        { code => $attribute_type_searchable->code, attribute => 'test_attr_2'},
186
        { code => $attribute_type_searchable_1->code, attribute => 'test_attr_2'},
178
        { code => $attribute_type_searchable_not_default->code, attribute => 'test_attr_3'},
187
        { code => $attribute_type_searchable_2->code, attribute => 'test_attr_3'},
188
        { code => $attribute_type_searchable_not_default->code, attribute => 'test_attr_4'},
179
    ]);
189
    ]);
180
    $patrons[1]->extended_attributes([
190
    $patrons[1]->extended_attributes([
181
        { code => $attribute_type->code, attribute => 'test_attr_1' },
191
        { code => $attribute_type->code, attribute => 'test_attr_1' },
182
        { code => $attribute_type_searchable->code, attribute => 'test_attr_2'},
192
        { code => $attribute_type_searchable_1->code, attribute => 'test_attr_2'},
183
        { code => $attribute_type_searchable_not_default->code, attribute => 'test_attr_3'},
193
        { code => $attribute_type_searchable_2->code, attribute => 'test_attr_3'},
194
        { code => $attribute_type_searchable_not_default->code, attribute => 'test_attr_4'},
184
    ]);
195
    ]);
185
196
186
    my $total_number_of_patrons = Koha::Patrons->search->count;
197
    my $total_number_of_patrons = Koha::Patrons->search->count;
Lines 304-311 subtest 'Search patrons' => sub { Link Here
304
    # clear form
315
    # clear form
305
    $driver->find_element('//form[@id="patron_search_form"]//*[@id="clear_search"]')->click();
316
    $driver->find_element('//form[@id="patron_search_form"]//*[@id="clear_search"]')->click();
306
317
318
    $s->fill_form( { search_patron_filter => 'test_attr_3' } ); # Terms must be split
319
    $s->submit_form;
320
    sleep $DT_delay && $s->wait_for_ajax;
321
322
    is( $driver->find_element('//div[@id="'.$table_id.'_info"]')->get_text, sprintf('Showing 1 to %s of %s entries (filtered from %s total entries)', 2, 2, $total_number_of_patrons), 'Searching on a searchable attribute returns correct results' );
323
324
    # clear form
325
    $driver->find_element('//form[@id="patron_search_form"]//*[@id="clear_search"]')->click();
326
307
    # Search on searchable attribute as specific field, we expect 2 patrons
327
    # Search on searchable attribute as specific field, we expect 2 patrons
308
    $s->fill_form( { search_patron_filter => 'test_attr_3' } );
328
    $s->fill_form( { search_patron_filter => 'test_attr_4' } );
309
    $driver->find_element('//form[@id="patron_search_form"]//*[@id="searchfieldstype_filter"]//option[@value="_ATTR_'.$attribute_type_searchable_not_default->code.'"]')->click();
329
    $driver->find_element('//form[@id="patron_search_form"]//*[@id="searchfieldstype_filter"]//option[@value="_ATTR_'.$attribute_type_searchable_not_default->code.'"]')->click();
310
    $s->submit_form;
330
    $s->submit_form;
311
    sleep $DT_delay && $s->wait_for_ajax;
331
    sleep $DT_delay && $s->wait_for_ajax;
312
- 

Return to bug 30645