Bladeren bron

Remove hard-coded filter restrictions

Remove hard-coded filter key restrictions in order to future proof
the code when other filters are added.
Matthew Spahr 2 jaren geleden
bovenliggende
commit
f3c0157a8d
2 gewijzigde bestanden met toevoegingen van 1 en 9 verwijderingen
  1. 0 5
      lib/TestRail/API.pm
  2. 1 4
      t/TestRail-API.t

+ 0 - 5
lib/TestRail/API.pm

@@ -2937,14 +2937,9 @@ sub _convert_filters_to_string {
 
     $filters //= {};
 
-    my @valid_keys = qw{ is_completed limit offset created_after created_before filter refs section_id updated_after updated_before refs_filter defects_filter };
-    my @valid_arrayref_keys = qw{ created_by milestone_id priority_id template_id type_id updated_by suite_id status_id };
-
     my $filter_string = '';
     foreach my $filter (keys(%$filters)) {
-        confess("Invalid filter key '$filter' passed") unless grep {$_ eq $filter} (@valid_keys, @valid_arrayref_keys);
         if (ref $filters->{$filter} eq 'ARRAY') {
-            confess "$filter cannot be an ARRAYREF" if grep {$_ eq $filter} @valid_keys;
             $filter_string .= "&$filter=".join(',',@{$filters->{$filter}});
         } else {
             $filter_string .= "&$filter=".$filters->{$filter} if defined($filters->{$filter});

+ 1 - 4
t/TestRail-API.t

@@ -128,13 +128,10 @@ my $case_filters = {
 };
 
 ok($tr->getCases($new_project->{'id'},$new_suite->{'id'},$case_filters),"Can get case listing");
+ok($tr->getCases($new_project->{'id'},$new_suite->{'id'},{'hokum' => 'bogus'}),"Passing bogus filter returns cases");
 is($tr->getCaseByName($new_project->{'id'}, $new_suite->{'id'},  $case_name, $case_filters)->{'title'},$case_name,"Can get case by name");
 is($tr->getCaseByID($new_case->{'id'})->{'id'},$new_case->{'id'},"Can get case by ID");
 
-#Negative case
-$case_filters->{'hokum'} = 'bogus';
-isnt(exception {$tr->getCases($new_project->{'id'},$new_suite->{'id'},$case_filters)},undef,"Passing bogus filter croaks");
-
 #Test RUN methods
 my $run_name = 'SEND T-1000 INFILTRATION UNITS BACK IN TIME';
 my $new_run = $tr->createRun($new_project->{'id'},$new_suite->{'id'},$run_name,"ACQUIRE CLOTHES, BOOTS AND MOTORCYCLE");