Project

General

Profile

Actions

Refactor #18665

closed

Foreman::Controller::Parameters tests should ignore hash/AC::Parameters differences

Added by Dominic Cleal over 7 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Low
Assignee:
Category:
Tests
Target version:
Difficulty:
Triaged:
Fixed in Releases:
Found in Releases:

Description

Under Rails 5.0, the ActionController::Parameters class no longer inherits from Hash and is now its own class that delegates some methods to an internal Hash.

This causes failures in tests for the Foreman::Controller::Parameters::* concerns which have equality assertions on AC::Parameters and hashes, to check the expected filtered output, e.g.

--- expected
+++ actual
@@ -1 +1 @@
-{"plugin_ext"=>"b"}
+<ActionController::Parameters {"plugin_ext"=>"b"} permitted: true>

AC::Parameters has a #to_h method that returns a hash (in both 4.2 and 5.0), so these tests can trivially be updated to call #to_h before comparing the filtered object to a hash.

Actions #1

Updated by The Foreman Bot over 7 years ago

  • Status changed from Assigned to Ready For Testing
  • Pull request https://github.com/theforeman/foreman/pull/4333 added
Actions #2

Updated by Dominic Cleal over 7 years ago

  • Status changed from Ready For Testing to Closed
  • % Done changed from 0 to 100
Actions #3

Updated by Dominic Cleal over 7 years ago

  • Translation missing: en.field_release set to 209
Actions

Also available in: Atom PDF