Skip to content

Instantly share code, notes, and snippets.

@jrafanie
Created November 4, 2016 19:42
Show Gist options
  • Save jrafanie/398e620c19da7512e4de02b1cb80862a to your computer and use it in GitHub Desktop.
Save jrafanie/398e620c19da7512e4de02b1cb80862a to your computer and use it in GitHub Desktop.
undefined method `definition' for #<Class:0x00000015145f90> doc formatter
$ bundle exec rake ${TEST_SUITE+test:$TEST_SUITE}
2 processes for 1078 specs, ~ 539 specs per process
[Coveralls] Set up the SimpleCov formatter.
[Coveralls] Using SimpleCov's 'rails' settings.
/home/travis/build/jrafanie/manageiq/spec/helpers/application_helper/buttons/role_suspend_spec.rb:50: warning: regular expression has ']' without escape
[Coveralls] Set up the SimpleCov formatter.
[Coveralls] Using SimpleCov's 'rails' settings.
Randomized with seed 816
ContainerRoute
has distinct nodes
MiqScheduleWorker::Runner
.new
#schedule_settings_for_ems_refresh (private)
with Daylight Savings Time changes
should not invoke after_dst_change callbacks if Daylight Savings Time is unchanged
should invoke after_dst_change callbacks only once if Daylight Savings Time changes
with Time before DST
should never sync_all_user_schedules if scheduler role disabled
should sync_all_user_schedules if scheduler role enabled
using Rufus::Scheduler
monthly schedule starting Jan 31 will next run Feb 28
monthly schedule scheduled for 5 years will be unscheduled by tag
monthly creates a schedule each month for 5 years
end-to-end schedules modified to run every 5 minutes
#schedules_for_all_roles
#do_work schedules work with correct 'first_in' and 'every'
#do_work appliance_specific
on an appliance
not an appliance
#rufus_add_normal_schedule
with the cron method
adds jobs to the worker's schedules
Storage Metrics Coordinator Role
#schedules_for_storage_metrics_coordinator_role
Randomized with seed 816
VmOrTemplateController
#parent_folder_id
adds jobs to the storage metrics coordinator
Chargeback reports for Services
#schedule_chargeback_report_for_service_daily
queues daily generation of Chargeback report for each service
Database operations role
without database_owner in region
returns id of Provider folder for Cloud Template
queues the right items
with database_owner in region
returns id of orphaned folder for orphaned VM/Template
returns id of Provider folder for infra VM/Template without blue folder
returns id of Availability Zone folder for Cloud VM that has one
returns id of Provider folder for Cloud VM without Availability Zone
returns id of archived folder for archived VM/Template
returns id of blue folder for VM/Template with one
#resolve_node_info
when VM shown select it in tree and show its info
when VM hidden select parent in tree but show VMs info
#console_after_task
console with websocket URL
renders javascript to open a popup
console with remote URL
queues the right items
calling check_roles_changed
renders javascript to open a popup
#snap_pressed
should load all user schedules when scheduler role is added
should unload all user schedules when scheduler role is removed
#schedules_for_event_role
queues the right items
LDAP synchronization role
#schedules_for_ldap_synchronization_role
queues the right items
with a stuck dispatch in each zone
check_for_dispatch calls check_for_timeout which deletes both dispatches with fixnum
check_for_dispatch calls check_for_timeout with threshold for inactive worker
check_for_dispatch calls check_for_timeout which deletes for in-active worker
check_for_dispatch calls check_for_timeout which deletes both dispatches
check_for_dispatch calls check_for_timeout with triple threshold for active worker
JsHelper
#javascript_show_if_exists
returns js to check for the existence of an element and show the element if it exists
#javascript_dim
returns js to to add or remove the dimmed class on the element
#javascript_highlight
returns js to to add or remove the active class on the element
#javascript_checked
returns js to check the provided input element of type checkbox
#javascript_hide_if_exists
returns js to check for the existence of an element and hide the element if it exists
#javascript_enable_field
returns js to enable the provided element
#javascript_disable_field
returns js to disable the provided element
#javascript_unchecked
returns js to uncheck the provided input element of type checkbox
#javascript_hide
returns js to hide an element
#js_format_date
returns new Date with iso string as param
returns undefined for nil
#tree_lock
returns js to lock tree
returns js to unlock tree
#javascript_focus
returns js to focus on an element
#set_spinner_off
returns js to turn spinner off
#set_element_visible
returns js to show element
returns js to hide element
#javascript_show
returns js to show an element
#js_build_calendar
returns JS to build calendar with no options
returns JS to build calendar with options
Hardware
#vm
#vm_or_template
#host
#miq_template
.v_pct_free_disk_space
with null disk capacity
calculates in ruby
calculates in the database
with values
calculates in ruby
calculates in the database
with 0 disk free
calculates in ruby
calculates in the database
with empty hardware
bails ruby calculation
bails database calculation
.aggregate_cpu_speed
with empty hardware
bails database calculation
bails ruby calculation
with values
calculates in the database
calculates in ruby
.used_disk_storage
with disks
calculates in ruby
calculates in the database
with no disks
bails database calculation
bails ruby calculation
.allocated_disk_storage
with disks
calculates in ruby
calculates in the database
with no disks
bails ruby calculation
bails database calculation
ApplicationHelper::Button::BasicImage
#visible?
in list of archived VMs
will be skipped
in list of orphaned VMs
will be skipped
ManageIQ::Providers::Microsoft::InfraManager::Vm
#proxies4job
returns the default proxy
has the correct message
#active_proxy?
returns true
#has_proxy?
returns true
TaskHelpers::DialogImportHelper
#import
logs a message for yielded results
delegates to the dialog_import_service
ApplicationHelper::Button::ServerDemote
#disabled?
record has priority == 2
WARNING: An expectation of `:regional_role?` was set on `nil`. To allow expectations on `nil` and suppress this message, set `config.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `config.allow_message_expectations_on_nil` to `false`. Called from /home/travis/build/jrafanie/manageiq/spec/helpers/application_helper/buttons/server_demote_spec.rb:38:in `block (4 levels) in <top (required)>'.
disables the button and returns the error message
#visible?
is assigned server role and master is supported
will not be skipped for this record
record is server role
will be skipped for this record
ConfigurationLocation
should eq "x"
Classification
.seed
does not re-seed existing categories
after seeding
re-seeds deleted categories
does not re-seed deleted tags
loads categories and tags
enforce_policy
enforce_policy on sub-classed vm
enforce_policy on sub-classed host
.find_by_name
finds in region
finds in all regions
created classification in other region
finds in my region
filters out wrong region
.find_by_names
finds in my region
finds in all regions
finds in region
with hierarchy
should test find by entry for an STI instance
should test categories
#destroy
should test to_tag
should test remove entry from
should test find by entry
should test invalid name
should test assign single entry to an STI instance
should test create duplicate category
should test add entry directly (without calling add_entry)
should test find assigned entries
finds tagged items with order clause
find with multiple tags
should test assign multi entry to
should test assign single entry to
should test add entry
should test remove entry from an STI instance
should test update category
should be able to produce valid names
should test add duplicate entry
should test update entry
should test setup data
should test update entry to duplicate
#category
for category
for tag
#bulk_assignemnt
normal case
with some errors
.hash_all_by_type_and_name
with entries duped across categories should return both entries
MiqAeMethodService::MiqAeServiceNetworkPort
#cloud_subnets
#device
#ext_management_system
#cloud_tenant
VmOrTemplateController
#x_show
routes with POST
#ownership_update
routes with POST
behaves like A controller that has tagging routes
#tag_edit_form_field_changed
routes with POST
#tagging_edit
routes with GET
routes with POST
#drift_all
routes with POST
#groups
routes with POST
#drift_differences
routes with POST
#filesystem_drivers
routes with POST
#sections_field_changed
routes with POST
behaves like A controller that has policy protect routes
#protect
routes with POST
routes with GET
#retirement_info
routes with GET
#show
routes with GET
rotues with POST
#event_logs
routes with POST
#x_search_by_name
routes with POST
#edit_vm
routes with POST
#launch_vmware_console
routes with GET
#vm_pre_prov
routes with POST
#drift_mode
routes with POST
#button
routes with POST
#kernel_drivers
routes with POST
#policy_sim
routes with POST
#form_field_changed
routes with POST
#squash_toggle
routes with POST
#retire
routes with POST
behaves like A controller that has compare routes
#compare_choose_base
routes with POST
#compare_miq
routes with POST
routes with GET
#compare_mode
routes with POST
#compare_miq_differences
routes with POST
#compare_to_csv
routes with GET
#compare_to_pdf
routes with GET
#compare_set_state
routes with POST
#compare_remove
routes with POST
#compare_miq_same
routes with POST
#compare_remove
routes with POST
#compare_to_txt
routes with GET
#compare_compress
routes with POST
#compare_miq_all
routes with POST
#wait_for_task
routes with POST
#drift_to_csv
routes with GET
behaves like A controller that has utilization routes
#util_report_download
routes with GET
#utilization
routes with GET
#util_chart_chooser
routes with POST
#policy_sim_add
routes with POST
#drift_same
routes with POST
#linux_initprocesses
routes with POST
#filesystems
routes with POST
#guest_applications
routes with POST
#ontap_logical_disks
routes with POST
#dialog_field_changed
routes with POST
#snap_pressed
routes with POST
behaves like A controller that has dialog runner routes
#dynamic_date_refresh
routes with POST
#dynamic_radio_button_refresh
routes with POST
#dialog_field_changed
routes with POST
#dialog_form_button_pressed
routes with POST
#dynamic_text_box_refresh
routes with POST
#dynamic_checkbox_refresh
routes with POST
#accordion_select
routes with POST
#pre_prov_continue
routes with POST
#launch_html5_console
routes with GET
#perf_chart_chooser
routes with POST
#advanced_settings
routes with POST
#vm_show
routes with GET
behaves like A controller that has advanced search routes
#adv_search_load_choice
routes with POST
#adv_search_button
routes with POST
#exp_token_pressed
routes with POST
#quick_search
routes with POST
does not route with GET
#exp_button
routes with POST
#exp_changed
routes with POST
#adv_search_name_typed
routes with POST
#adv_search_clear
does not route with GET
routes with POST
#adv_search_toggle
routes with POST
#policy_sim_remove
routes with POST
#sort_iso_img_grid
routes with POST
#x_history
routes with POST
behaves like A controller that has timeline routes
#wait_for_task
routes with POST
#tl_chooser
routes with POST
#prov_edit
routes with POST
#ownership_field_changed
routes with POST
#drift_history
routes with POST
#policies
routes with POST
#tree_select
routes with POST
#snap_vm
routes with POST
#reconfigure_update
routes with POST
#scan_histories
routes with POST
#users
routes with POST
#reconfigure_field_changed
routes with POST
#ontap_file_shares
routes with POST
#explorer
rotues with POST
routes with GET
#win32_services
routes with POST
#x_button
routes with POST
#ontap_storage_systems
routes with POST
#policy_show_options
routes with POST
#sort_ds_grid
routes with POST
#sort_host_grid
routes with POST
#processes
routes with POST
#registry_items
routes with POST
#pre_prov
routes with POST
#drift_to_pdf
routes with GET
#drift_to_txt
routes with GET
#dialog_form_button_pressed
routes with POST
behaves like A controller that has download_data routes
#download_data
routes with GET
#evm_relationship_field_changed
routes with POST
#policy_options
routes with POST
#evm_relationship_update
routes with POST
#reload
routes with POST
#vmrc_console
routes with POST
#html5_console
routes with POST
#prov_field_changed
routes with POST
#patches
routes with POST
ChargebackRateDetailMeasure
is invalid with a units_display lenght diferent that the units lenght
has a valid factory
is invalid with a empty array units
is invalid without a name
is invalid with a only one array units
is invalid with a step less than 0
is invalid without a step
MiqVimBrokerWorker::Runner
#after_initialize
with a worker created
#prime_all_ems
#do_heartbeat_work
#preload
#reconnect_ems
#prime_ems
#after_sync_config
#do_before_work_loop
should do nothing when active roles does not include 'ems_inventory'
should call EmsRefresh.queue_refresh when active roles includes 'ems_inventory' and there are EMSes to monitor
should do nothing when active roles includes 'ems_inventory' and there are no EMSes to monitor
#start_broker_server
primes specified EMSes
does not prime when no EMSes specified
starts MiqVimBroker
should not raise error when MiqVimBroker.getMiqVim raises HTTPClient::ConnectTimeoutError
#reset_broker_update_notification
calls enable_broker_update_notification when active roles includes 'ems_inventory'
calls disable_broker_update_notification when active roles does not include 'ems_inventory'
#after_sync_active_roles
adding 'ems_inventory' role
on initialization
with role change not including 'ems_inventory' role
removing 'ems_inventory' role
#create_miq_vim_broker_server
without ems_inventory role
with ems_inventory role
#drain_event
instance with update notification enabled
will handle queued Vm updates properly
will handle updates to valid connections that it previously did not know about
will ignore updates to unknown properties
will not reconnect to an EMS in another zone
will reconnect to an EMS
will ignore updates to unknown connections
will ignore updates to excluded properties
will handle queued Host updates properly
VmHelper::TextualSummary
#textual_server
MiqAeGitImport
#import
when the ref type and ref are not valid
when the ref type is invalid
behaves like #import that has invalid ref or ref type
throws an argument error
when the ref type is tag but the tag does not exist
behaves like #import that has invalid ref or ref type
throws an argument error
when the branch does not exist
behaves like #import that has invalid ref or ref type
throws an argument error
when the ref type and ref are valid
when there are branches returned
import fails with domain not found
when the branch name is exact match
behaves like #import that has a valid branch
runs successfully
when the branch name is all lowercase
behaves like #import that has a valid branch
runs successfully
when a git_url and branch are given
imports correctly
when there are tags returned
when the tag name is exact match
behaves like #import that has a valid tag
imports correctly
when the tag name is all lowercase
behaves like #import that has a valid tag
imports correctly
MiqExpression::Field
#plural?
returns true if the column is on a 'has_many' association
returns false if the column is on a 'belongs_to' association
returns false if the column is on a 'has_one' association
returns true if the column is on a 'has_and_belongs_to_many' association
#target
returns the model when there are no associations
returns the model of the target association if there are associations
#datetime?
returns true for fields of column type :datetime
returns true for a :datetime type column on an association
returns false for fields of column type other than :datetime
#reflections
can handle associations which override the class name
returns the reflections of fields with one association
can handle virtual associations
returns an empty array if there are no associations
raises an error if the field has invalid associations
returns the reflections of fields with multiple associations
#date?
returns false for fields of column type other than :date
.parse
can parse the model name with associations present
can parse the associations when there is one present
can parse the column name with associations present
can parse the associations when there are many present
can parse a namespaced model name
can parse the model name
can parse the column name with pivot table suffix
can parse the associations when there is none present
will raise a parse error when given a field with unsupported syntax
can parse column names with snakecase
can parse the column name
TreeBuilderPolicySimulationResults
TreeBuilderPolicySimulationResults
snapshot node exists in tree
deleted node pressed in snapshot tree
when snapshot is selected center toolbars are replaced
#show
redirects user to Workloads explorer when user does not have access to Infra Explorer
redirects user to explorer that they have access to
Redirects user with privileges to vm_infra/explorer
redirects user back to the url they came from when user does not have access to any of VM Explorers
Redirects user to the referrer controller/action
#replace_right_cell
should display form button on Migrate request screen
ContainerSummaryHelper
.textual_containers
show link when role allows
hide link when role does not allow
.textual_container_project
show link when role allows
hide link when role does not allow
ManageIQ::Providers::Redhat::InfraManager::Provision::Configuration
#attach_floppy_payload
should attach floppy if customization template provided
#configure_cloud_init
should configure cloudinit if customization template provided
set phase_context[:boot_with_cloud_init]
old RHEV
new RHEV
#configure_container
without options
with options set
ServiceTemplateProvisionRequest
#make_request
creates and update a request
with multiple tasks
active state
all queued state
finished with errors state
update_request_status with message override
update_request_status - no message
finished state
queued state
pending state
partial tasks finished
active with error state
generic service do_request
partial finish with error state
CustomizationTemplateCloudInit
#default_filename
should be user-data.txt
ApplicationController
#button_set_form_vars
check button_set_form_vars sets correct applies_to_class when editing a button
#custom_buttons
Host button with a subclass, not base_class in applies_to_class
#button_create_update
no need to set @record when add/cancel form buttons are pressed
without a resource_action dialog
Host button
Vm button
ServiceTemplate button
with a resource_action dialog
Host button
Vm button
ChargebackRateDetail
#friendly_rate
#cost
#per_unit_display_without_measurements
diferents_per_units_rates_should_have_the_same_cost
#rate_name
#rate_adjustment
#rate_type
#hourly
#per_unit_display_with_measurements
is valid without per_unit, metric and measure
#show_rates
#find_rate
finds proper rate according the value
#chargeback_rate
is invalid without a valid chargeback_rate
tier set correctness
middle tier must not start infinity
tiers should contain no gaps
add an initial invalid tier
remove a tier from an existing tier set, leaving the set invalid
must contain one start
must end at infinity
add an invalid tier to an existing tier set
add an initial valid tier
remove a tier from an existing set of tiers
remove last tier
must start at 0
add a valid tier to an existing tier set
ResourceSharer
#share
with an invalid resource
is invalid
with tenants that aren't tenants
is invalid
with valid arguments
creates a share from the user to the tenant
attempting to share a resource the user doesn't have access to via RBAC
is invalid
product features
with an unauthorized product feature (up tree)
is invalid
with the :all option on initialization
uses the user's current features
with a 'sees everything' product feature user
is valid
with an unauthorized product feature (across tree)
is invalid
AvailableVdcNetworks
workspace has orchestration service template
behaves like orchestration manager
with multiple VDC networks
finds all the VDC networks and populates the list
no VDC network
provides only the no VDC network info
single VDC network
finds the single VDC network and populates the list
with VDC and vApp networks
finds only the VDC networks and populates the list
does not exist
provides only the default value to the VDC list
workspace has orchestration service
behaves like orchestration manager
with multiple VDC networks
finds all the VDC networks and populates the list
with VDC and vApp networks
finds only the VDC networks and populates the list
single VDC network
finds the single VDC network and populates the list
no VDC network
provides only the no VDC network info
does not exist
provides only the default value to the VDC list
workspace has service template other than orchestration
provides only the no VDC networks info
workspace has no service template
provides only the no VDC networks
ManageIQ::Providers::Redhat::InfraManager::Refresher
should refresh a vm
should refresh new vm
EmsCloudController
#show
download pdf file
should not contains string 'ManageIQ' in the title of summary report
should match proper title of report
::EmsCommon
#update_button_validate
when authentication_check
unsuccessful flash message (changed)
successful flash message (unchanged)
#get_form_vars
check if the default port for openstack/openstack_infra/rhevm is set
#button
when Retire Button is pressed for a Cloud provider Instance
#set_record_vars
strip leading/trailing whitespace from hostname/ipaddress
when adding infra EMS
when adding cloud EMS
#get_form_vars
check if provider_region gets reset when provider type is changed on add screen
#new
assigns provider_regions
#form_field_changed
form_div should not be updated when other fields are sent up
form_div should be updated when server type is sent up
VimPerformanceTag
with a small environment and tagged VMs
with Vm hourly performances
#find_and_group_by_tags
MiqAeMethodCompare
method slightly off
both method in DB should be incompatible
one method in DB and other in YAML should be incompatible
same methods
one method in DB and other in YAML should be equivalent
both methods in DB should be equivalent
one parameter slightly off
one method in DB and other in YAML should be compatible
both method in DB should be compatible
PxeMenuIpxe
.parse_kernel
.parse_contents
#synchronize_images
finds correct number of menu items
MiqAeMethodService::MiqAeServiceServiceTemplateProvisionRequest
#user_message reset
#user_message
#truncated user_message
sets condition and action nodes correctly
sets policy nodes correctly
sets root correctly
sets vm nodes correctly
sets profile nodes correctly
Set Ownership
Vms set_ownership action
#approve
routes for StorageController
#vm_misc_files
routes with GET
routes with POST
#debris_files
routes with GET
routes with POST
#vm_ram_files
routes with POST
routes with GET
#dialog_load
routes with GET
behaves like A controller that has show list routes
#show_list
routes with POST
routes with GET
#snapshot_files
routes with GET
routes with POST
#save_default_search
routes with POST
behaves like A controller that has policy protect routes
#protect
routes with POST
routes with GET
behaves like A controller that has compare routes
#compare_miq_differences
routes with POST
#compare_remove
routes with POST
#compare_miq
routes with GET
routes with POST
#compare_choose_base
routes with POST
#compare_compress
routes with POST
#compare_miq_all
routes with POST
#compare_remove
routes with POST
#compare_mode
routes with POST
#compare_miq_same
routes with POST
#compare_set_state
routes with POST
#compare_to_txt
routes with GET
#compare_to_pdf
routes with GET
#compare_to_csv
routes with GET
behaves like A controller that has tagging routes
#tagging_edit
routes with POST
routes with GET
#tag_edit_form_field_changed
routes with POST
#button
routes with POST
routes with GET
behaves like A controller that has performance routes
#perf_chart_chooser
routes with POST
routes with GET
#wait_for_task
routes with POST
#index
routes with GET
#disk_files
routes with GET
routes with POST
behaves like A controller that has advanced search routes
#adv_search_clear
routes with POST
does not route with GET
#exp_changed
routes with POST
#exp_button
routes with POST
#exp_token_pressed
routes with POST
#adv_search_toggle
routes with POST
#quick_search
routes with POST
does not route with GET
#adv_search_button
routes with POST
#adv_search_name_typed
routes with POST
#adv_search_load_choice
routes with POST
#sections_field_changed with missing owner or group
routes with POST
behaves like A controller that has download_data routes
#download_data
routes with GET
#show_association
routes with POST
#listnav_search_selected
routes with POST
#show_details
routes with POST
#show
routes with GET
#files
routes with GET
behaves like A controller that has dialog runner routes
#dynamic_text_box_refresh
routes with POST
#dialog_form_button_pressed
routes with POST
#dynamic_checkbox_refresh
routes with POST
#dynamic_radio_button_refresh
routes with POST
#dialog_field_changed
routes with POST
#dynamic_date_refresh
routes with POST
ManageIQ::Providers::Openstack::CloudManager::Refresher
.ems_type
ServiceReconfigureTask
#after_request_task_create
by group description to a vm
should set the task description
#self.get_description
returns a description based upon the source service name
#self.base_model
should return ServiceReconfigureTask
#after_ae_delivery
to an invalid vm
updates the task status to Error if automation encountered an error
updates the task status to Ok if automation run successfully
#deliver_to_automate
automation entry point missing
by owner id to a vm
updates the task state to finished
automation entry point available
by owner name to a vm
updates the task state to pending
queues the reconfigure automate entry point without appropriate action role
SystemService
.start
has falls back to numeric name
works with find
has nice names
.svc_type
has nice names
has falls back to numeric name
works with find
TreeBuilderClusters
TreeBuilderClusters
sets tree to have full ids, not lazy and no root
sets tree to have full ids, not lazy and no root
to a vm
sets cluster hosts nodes correctly with owner and group to a vm
sets non-cluster host nodes correctly
set cluster nodes correctly
FloatingIpController
for openstack
#show
by group id to a vm
by owner href to a vm
to multiple vms
with invalid owner
Service set_ownership action
to multiple services
by owner id to a service
by group id to a service
by owner name to a service
with owner and group to a service
to an invalid service
renders show screen
#show_list
without appropriate action role
renders index
by owner href to a service
by group description to a service
with invalid owner
with missing owner or group
to a service
Template set_ownership action
by owner name to a template
by group description to a template
renders show_list
#test_toolbars
by owner id to a template
edit floating ip tags
for google
#show_list
by owner href to a template
with missing owner or group
to multiple templates
to a template
renders show_list
with invalid owner
renders index
#show
by group id to a template
without appropriate action role
renders show screen
#test_toolbars
to an invalid template
edit floating ip tags
for azure
#show
with owner and group to a template
ApplicationController
Feature
#new_with_hash creates a Struct
#autocomplete does set missing stuff
#autocomplete doesn't replace stuff
TreeBuilderChargebackRates
#x_get_tree_roots
correctly renders storage and compute nodes when no rates are available
VimPerformanceAnalysis
.group_perf_by_timestamp
does not pass virtual_attributes to MetricRollup.new
.get_daily_perf
renders show screen
#show_list
renders show_list
should not raise an error
.find_child_perf_for_time_period
renders index
#test_toolbars
edit floating ip tags
ConfigurationHelper
.render_view_buttons
should render HTML tags for compare view button
.render_view_buttons
should render HTML tags for compare view button
.render_view_buttons
should render HTML tags for tagging view button
AnsibleTowerJobTemplateDialogService
#create_dialog
returns only tagged nodes
routes for MiqRequestController
#prov_show_option
routes with POST
#vm_pre_prov
routes with POST
#request_copy
routes with POST
#sort_vc_grid
routes with POST
#prov_edit
routes with GET
routes with POST
#prov_continue
routes with POST
#sort_host_grid
routes with POST
#sort_iso_img_grid
routes with POST
#sort_vm_grid
routes with POST
#sort_template_grid
routes with POST
#upload
routes with POST
#sort_ds_grid
routes with POST
#prov_change_options
routes with POST
#show
routes with GET
#prov_load_tab
routes with POST
#button
routes with POST
behaves like A controller that has show list routes
#show_list
routes with POST
routes with GET
#sort_windows_image_grid
routes with POST
#pre_prov
routes with GET
routes with POST
#retrieve_email
routes with POST
#request_edit
routes with POST
#sort_pxe_img_grid
routes with POST
#prov_copy
routes with GET
behaves like A controller that has dialog runner routes
#dynamic_radio_button_refresh
routes with POST
#dynamic_text_box_refresh
routes with POST
#dynamic_checkbox_refresh
routes with POST
#dynamic_date_refresh
routes with POST
#dialog_form_button_pressed
routes with POST
#dialog_field_changed
routes with POST
#prov_button
routes with POST
#post_install_callback
routes with GET
routes with POST
#stamp
routes with POST
routes with GET
#stamp_field_changed
routes with POST
#index
routes with GET
ServiceOrder
should allow you to order immediately
should raise an error while trying to clear the cart on an ordered service order
creates a dialog from a job template
MiqAeMethodService::MiqAeServiceMiqHostProvision
should add multiple miq_requests properly
should checkout properly for cart service order
should clear the cart properly when the service order is destroyed
should add to cart properly with an existing user service_order
should remove from cart properly
should add an miq_request properly
should add to cart properly creating a new admin service_order
should raise an error while trying to remove from cart on ordered service order
should raise an error on checkout for ordered service order
should clear the cart properly
MiqAeMethodService::MiqAeService
#service_model
loads model with mapped name
loads name-spaced model by fully-qualified name
loads name-spaced model by mapped name
loads base model
raises error on invalid service_model name
loads sub-classed model
loads cloud networks
#host
loads all mapped models
ApplicationHelper::Button::RoleStart
#disabled?
record is inactive assigned server role
disables the button and returns the error message
record is inactive assigned server role
disables the button and returns the error message
record is active assigned server role
disables the button and returns the error message
#visible?
record is miq server
will be skipped for this record
record is assigned server role and miq server is started
will not be skipped for this record
record is server role
will be skipped for this record
ActiveRecordQueryParts
glob to sql
replaces '*'
works with replacing nothing
replaces '?'
replaces mixed '?' and '*'
CatalogController
#dynamic_checkbox_refresh
returns the correct json response
#dialog_get_form_vars
keeps date and minutes when setting hours
keeps date and hourse when setting minutes
keeps hours and minutes when setting date
#dynamic_text_box_refresh
returns the correct json response
#dynamic_date_refresh
returns the correct json response
#dialog_form_button_pressed
redirects to requests show list after dialog is submitted
#dialog_field_changed
includes disabling the sparkle in the response
stores the incoming value in the edit variable
PerEmsWorkerMixin
#miq_host_provision_request
#status
#worker_options
.queue_name_for_ems
.start_worker_for_ems
works when queue name is passed
works when ems is passed
.stop_worker_for_ems
when worker status is not started
does not stop worker when non-existent ems is passed
does not stop worker when non-existent queue_name is passed
does not stop worker when existing ems is passed
does not stop worker when queue name is passed
when worker status is started
does not stop worker when non-existent queue_name is passed
stops worker when existing ems is passed
does not stop worker when non-existent ems is passed
stops worker when queue name is passed
Condition
.subst
expression with <find>
tests all allowed operators in find/check expression clause
valid expression
has_one support
#status should return 'error' when state is finished or provisioned and host has not been rediscovered
rejects and expression with an illegal operator
invalid expression should not raise security error because it is now parsed and not evaluated
expression with <registry>
string type registry key data is single quoted
numerical type registry key data is single quoted
.do_eval
detects false
detects true
.subst_matches?
detects non-match
detects match
MiqCapacityController
#bottleneck_tl_chooser
routes with POST
#change_tab
routes with POST
#planning
routes with POST
routes with GET
#timeline_data
routes with GET
#optimize_tree_select
routes with POST
behaves like A controller that has utilization routes
#util_report_download
routes with GET
#utilization
routes with GET
#util_chart_chooser
routes with POST
#index
routes with GET
#tree_autoload
routes with POST
#wait_for_task
routes with POST
#bottlenecks
routes with GET
#planning_option_changed
routes with POST
#planning_report_download
routes with GET
no action
routes with GET
MiqRequestTask
::StateMachine
#signal
will deal with exceptions
ManageIQ::Providers::Redhat::InfraManager::ProvisionViaPxe
A new provision request,
RHEV-M provisioning
#prepare_for_clone_task
#status should return 'retry' unless state is finished or provisioned
with linked-clone true
with default options
with linked-clone false
#provision_completed
when phase is poll_destination_powered_off_in_vmdb
when phase is not poll_destination_powered_off_in_vmdb
CloudVolumeBackupController
#tags_edit
#status should return 'ok' when state is finished or provisioned and host has been rediscovered
ApplicationHelper::Button::GenericFeatureButtonWithDisable
#disabled?
when record has an error message
disables the button and returns the stop error message
disables the button and returns the stop error message
MiqAeMethodService::MiqAeServiceCloudResourceQuota
#cloud_tenant
#ext_management_system
#used
RegistrationSystem
.available_organizations
save tags
with no options
builds tagging screen
with invalid credentials
with valid credentials
.verify_credentials
should rescue NotImplementedError
cancels tags edit
MiqAeEngine::MiqAeUri
escape non-ASCII Numeric characters
trim URI before parsing
converts hash queries
ManageIQ::Providers::Hawkular::MiddlewareManager::EventCatcher::Runner
#event_hash
with valid credentials
with invalid credentials
with no options
.available_organizations_queue
validate that one queue item was created for this task
validate that the queue item was created with proper args
validate that a task was created
does not modify original arguments
.verify_credentials_queue
validate that a task was created
does not modify original arguments
properly converts event supplying optional fields
validate that one queue item was created for this task
validate that the queue item was created with proper args
StorageController
#tags_edit
properly converts event supplying only required fields
#whitelist
rejects event without event_type tag
cancels tags edit
accepts event tagged with known event_type
builds tagging screen
rejects event tagged with unknown event_type
Host
#refresh_network_interfaces
when refresh didn't store any interfaces
resets tags
save tags
#button
when Host Shut Down button is pressed
when VM Migrate is pressed
should collect all network interfaces
when Host Reset button is pressed
when Host Restart button is pressed
when VM Tag is pressed
should collect br-tun
when VM Right Size Recommendations is pressed
when Host Enter Standby Mode button is pressed
when MiqTemplate Tag is pressed
should collect br-ex and eth0 and join the according to same mac address
when MiqTemplate Manage Policies is pressed
when VM Retire is pressed
when VM Manage Policies is pressed
when Host Analyze then Check Compliance is pressed
when Host Power On button is pressed
should have network association of all vlans
when Host Power Off button is pressed
render_views
#explorer
should collect vlan10
when there are existing records created by refresh
do not change existing record name when it's not nil
can render datastore details
updates existing record name when it's nil
TreeBuilderChargebackAssignments
#x_get_tree_roots
correctly renders storage and compute nodes when no rates are available
PxeMenu
.class_from_contents
#synchronize
shows a datastore in the datastore list
on untyped menu
on typed menu switching to a different type
can render the explorer
on typed menu
SysprepFile
valid inputs
INI
allows string
allows IO stream
XML
allows string
allows IO stream
invalid inputs raise errors
XML
INI
ManageIQ::Providers::InfraManager::Template
#post_create_actions
with a host relationship
without a host relationship
rendering fields in ems_infra new/edit form
displays Host Name
doesn't display IP Address
MiqAeMethodService::MiqAeService
service models
can Perform a datastore Smart State Analysis from the datastore summary page
it handles x_button tagging
can Perform a datastore Smart State Analysis from the datastore list
can Perform a datastore Smart State Analysis from the datastore cluster list
show a datastore cluster in the datastore clusters list
can render the second page of datastores
can Perform a remove datastore from the datastore cluster list
#tree_select
renders list of All Datastore Clusters for storage_pod_tree root node
MiqPolicyController
::Alerts
#alert_build_edit_screen
it should skip id when copying all attributes of an existing alert
it should select correct record when editing an existing alert
#alert_delete
read only alert
renders a flash message
VmScan
A single VM Scan Job,
expose all expected active_record models as service_models
AvailabilityZoneController
#show
render listnav partial
should respond properly to proxies4job
should start in a dispatch_status of pending
should respond properly to storage2hosts
should render template matcher [:partial, "layouts/listnav/_availability_zone"]
MiqAeEngine::MiqAeObject
substitute_value
should start in a state of waiting_to_start
#start_user_event_message
with send = false
email address
Roles API
Features
without send
query available features
Roles create
with send = true
#create_scan_args
rejects creation without appropriate role
should have vmScanProfiles from scan_profiles option
should have no vmScanProfiles by default
without Broker Running and with valid MiqVimBrokerWorker record,
in status of 'started',
supports single role creation
should get dispatched
when signaled with 'start'
supports multiple role creation
rejects role creation with id specified
supports single role creation via action
Role Feature Assignments
should call callback when message is delivered
supports assigning just a single product feature
should go to state of 'wait_for_policy'
in status of 'killed',
supports un-assigning just a single product feature
should not be dispatched
in status of 'stopped',
supports un-assigning multiple product features
should not be dispatched
in status of 'starting',
supports assigning multiple product features
Roles edit
should not be dispatched
without MiqVimBrokerWorker record,
supports single role edit
should not be dispatched
#end_user_event_message
rejects role edits without appropriate role
with send = false
supports multiple role edits
should not send the end message twice
without send
rejects role edits for invalid resources
Roles delete
with send = true
#call_check_policy
supports multiple role deletes
supports single role delete
supports single role delete action
rejects role deletion without appropriate role
should raise vm_scan_start for template
rejects role deletion, by post action, without appropriate role
rejects role deletes for invalid roles
layouts/listnav/_cloud_network.html.haml
should raise vm_scan_start for Vm
VmdbTable
#seed_indexes
for openstack
removes deleted indexes
finds existing indexes
adds new indexes
fetches latest metric record
MiqQueue
should validate formatting of message for logging
should be valid
should expand keys, not expand non specified keys, and not add missing keys
should validate formatting of message with encrypted password in args for logging
executing priority
should validate comparisons
should return adjusted value
worker
should return worker handler
should find a message by task id
deliver to queue
should requeue a message with message id higher last
should requeue a message
should requeue a message with new message id
#default_get_options
should default the queue name and others
should default the queue name
should override the queue name
#deliver
sets last_exception on raised Exception
works with deliver_on
works with expires_on
.unqueue
should unqueue a message
should not unqueue a message from a different zone
should unqueue a message to 'any' zone, other state (when included in a list), and other queue
With messages left in dequeue at startup,
where worker on other server has a message in dequeue
should not cleanup message on startup
where worker has a message in dequeue
should cleanup message on startup
will destroy the message when it times out
message in dequeue without a worker
should cleanup message on startup
#put
does not allow objects on the queue
defaults args / miq_callback to [] / {}
should use args proc to find messages on the queue
should put one message on queue
should respect hash updates in put_unless_exists
should use args param to find messages on the queue
should accept non-Array args (for now)
should not put duplicate messages on the queue
should ignore state when putting a new message on the queue
should put a unique message on the queue if method_name is different
should not call into put_unless_exists
#delivered
destroys a stale object
MiqAeProvision
Using provision yaml model
relationships links uses restful path in Openstack
for google
relationships links uses restful path in Google
Service Requests API
Service requests approval
supports approving a request
supports denying a request
supports denying multiple requests
supports approving multiple requests
Service Requests query
can return the provision_dialog
can return the request's user.email
Service query
can return the request's user.email
can return the provision_dialog
authorization
lists all the service requests if you are admin
should instantiate customization
does not show another user's request
does not list another user's requests
an admin can see another user's request
is forbidden for a user without appropriate role
a user can list their own requests
a user can show their own request
MiqAeDomain
version
about class present
no about class
available_version
no version specified
about file present
MiqSnmp
.trap_v2
calls subst_oid
.trap_v1
calls agent_address
ApplicationHelper::FormTags
#datepicker_input_tag sets correct date / time, data-provide, autoclose, date-format, date-language
TreeBuilderInstances
sets tree to have leaf and not lazy
sets tree to have full ids, not lazy and no root
sets root correctly
should have Network class
sets providers nodes correctly
sets availability zones correctly if vms are hidden
sets availability zones correctly if vms are shown
ops/_all_tabs.html.haml
diagnostics tree loads correct tabs based on x_node
should render tabs only specific to zone node
should render tabs for current server
should render tabs only for non-current server
ResourcePool
#tenant_identity
without a provider, has tenant from root tenant
has tenant from provider
Testing VM count virtual columns
should return the correct values for v_direct_vms and v_total_vms
MiqAeEngine::MiqAeObject
Expression
missing object
raises InvalidPathFormat
missing attribute
should instantiate lease_times
raises AttributeNotFound
valid expression
returns success
MiqProductFeature
is properly configured
.features
populates parent and children
#feature_details
returns data for visible features
eats hidden features
#feature_hidden
detects hidden features
detects visible features
.seed_features
existing records
additional yaml feature
#feature_all_children
returns all visible children
returns all visible children sorted
#feature_children
sorts features
returns only visible features
returns direct children only
.seed
should instantiate allowed_num_vms
should instantiate container_info
creates feature identifiers once on first seed, changes nothing on second seed
MiqReport::ImportExport
.view_yaml_filename
should return restricted view yaml for restricted user
should return VmCloud view yaml for non-restricted user
.import_from_hash
legacy report
import
existing report
no overwrite
import
preview
overwrite
preview
import
new report
preview
import
ApplicationHelper::Button::Condition
#disabled?
won't be disabled
will be disabled
#role_allows_feature?
won't be skipped
will be skipped
VmdbDatabase
.collect_database_metrics_os
returns a hash of os sourced columns
.collect_database_metrics_sql
returns a hash of sql sourced columns
::MetricCapture
#capture_database_metrics
when database is not local
populates columns from sql sources
when database is local
populates columns from sql and os sources
ManageIQ::Providers::Hawkular::MiddlewareManager::MiddlewareDatasource
#collect_live_metrics for three metrics
should instantiate ttl_warnings
#supported_metrics
#first_and_last_capture
#collect_stats_metrics
#collect_live_metrics for all metrics available
ContainerNode
has distinct images
MiqRequest
#post_create_request_tasks
non VM provisioning
VM provisioning
with 0 tasks
with 1 task
with >1 tasks
CONSTANTS
REQUEST_TYPES
.class_from_request_data
with a invalid request_type
with a valid request_type
without a request_type
#workflow
calls password_helper when a block is passed in
#create_request_task
1 task
multiple tasks
A new request
#approval_denied
#call_automate_event_queue
should not fail when using :select
#pending
should be valid
#deny
using Polymorphic Resource
should eq ManageIQ::Providers::Vmware::InfraManager::ProvisionWorkflow
#workflow
#approval_approved
approved
not approved
#get_options
should eq {:number_of_vms=>1}
#request_type_display
should eq "VM Provision"
#request_type
should eq "template"
#request_status
with status
approval_state pending_approval
status hello
approval_state denied
status nil
should properly instantiate /EVMApplications/Provisioning/Information/Default#debug
Api::CollectionConfig
#name_for_klass
returns the corresponding name for classes managed by the API
returns nil for classes unknown to the API
ApplicationHelper
custom_buttons
for VM
behaves like with custom buttons
approval_state approved
using MiqApproval
with user approvals
#approved? requires all approvals
#deny
#custom_toolbar_class
#approve
#record_to_service_buttons
default values
#v_approved_by methods
#custom_buttons_hash
with one approval
#get_custom_buttons
behaves like no custom buttons
#custom_toolbar_class
with two approvals
no approvals
#record_to_service_buttons
#get_custom_buttons
#custom_buttons_hash
for Service
behaves like with custom buttons
default values
#build_default_approval
#set_description
should set description when :force => true
should not set description when one exists
should set a description when nil
#call_automate_event
#custom_buttons_hash
#record_to_service_buttons
re-raises exceptions
successful
#request_type_display
#get_custom_buttons
should eq "VM Migrate"
#call_automate_event_sync
re-raises exceptions
#custom_toolbar_class
behaves like no custom buttons
#get_custom_buttons
successful
Actions API
Actions CRUD
#custom_toolbar_class
#record_to_service_buttons
#custom_buttons_hash
#hide_button?
forbids access to actions without an appropriate role
Disables copy button when there are no Editable domains available
edits new actions
Shows the button for classes when locked
deletes actions
Shows the button for methods when locked
edits new action
Enables buttons for Unlocked domain
deletes action
Enables miq_ae_namespace_edit for Unlocked domain
creates new action
Shows the button for domains even if locked
reads all actions
Shows the button for instances when locked
creates new actions
MiqAeMethodService::MiqAeServiceCloudSubnet
#availability_zone
#vms
#cloud_network
ManageIQ::Providers::Azure::CloudManager::MetricsCapture
#perf_collect_metrics
a user with view access should not be able to edit class
Disables buttons for Locked domain
Enables copy button when there are Editable domains available
#hide_button?
when id likes comparemode_*
when with repo_protect
when with miq_request_approve and allowed by the role
when with history item history_9
when with host_miq_request_new
when with host_analyze_check_compliance
when with vm_download_pdf
parses and aggregates read and write on disk
when with show_summary and not explorer
when with history item history_3
when id likes miq_task_*
has definitions for cpu, network and disk metrics
raises an error when no EMS is defined
when with host_exit_maint_mode
when with download_pdf
when with download_csv
parses and handles cpu metrics when with history item history_5
MiqProvision
::StateMachine
#post_create_destination
when with ems_cluster_protect
when id likes compare_*
when id likes drift_*
when with refresh_log
when with history item history_7
when with ext_management_system_protect
when id likes custom_*
when with vm_miq_request_new
when with history item history_1
when with vm_check_compliance
when with show_summary and explorer
when with view_grid
when id likes ab_*
when with history item history_10
when with history item history_2
when with vm_suspend
when with vm_snapshot_add
when with vm_snapshot_delete_all
when with vm_snapshot_delete
when with vm_start
when with resource_pool_protect
when with history item history_6
when with history item history_8
when with vm_pre_prov
when with host_enter_maint_mode
when id likes dialog_*
when not with miq_request_approve or miq_request_deny and not allowed by the role
when with view_tile
when with host_check_compliance
when with fetch_log
when with vm_snapshot_revert
when with history item history_4
when id likes driftmode_*
when with view_list
sets genealogy
when with miq_request_deny and allowed by the role
when id likes old_dialogs_*
when with download_view
when with download_text
when with dialog_add_box
and 3 nodes
and 2 nodes
and nodes > 3
and nodes < 2
and !@edit
when with Host
and id = common_drift
and lastaction = drift_history
when with vm_console
and server's remote_console_type not set
and record is not console supported
and record is console supported and server's remote_console_type is MKS
and server's remote_console_type is not MKS
when with dialog_res_discard
sets ownership
and !@edit
and @sb[:edit_typ] = 'add'
and @sb[:edit_typ] != 'add'
when with EmsCluster
and id != common_drift
and id = common_drift
and lastaction = drift_history
when with dialog_new
and !@edit
and @edit
when with ontap_file_share_statistics
and @vmdb_config[:product][:smis] = true
and @vmdb_config[:product][:smis] != true
when with dialog_delete
and @edit
sets description
sets retirement
and !@edit
when id = ems_infra_scale
when @record = EmsOpenstackInfra
with :retirement option
with :retirement_time option
#prepare_provision
user allowed
handles deleting nils when merging :clone_options from automate
button hidden if provider has no stacks
user not allowed
when @record != EmsOpenstackInfra
sets default :clone_options
user allowed but hide button because wrong provider
user not allowed
when with dialog_add_tab
and nodes > 2
and !@edit
and nodes <= 2
when with miq_request_reload
and showtype is not miq_provisions
and showtype is miq_provisions
when with miq_request_reload
and lastaction is show_list
and lastaction is not show_list
when record class = ExtManagementSystem
and id = ems_cloud_timeline
merges :clone_options from automate
StorageManagerController
behaves like A controller that has advanced search routes
#adv_search_name_typed
routes with POST
#adv_search_clear
routes with POST
does not route with GET
#exp_token_pressed
routes with POST
#adv_search_load_choice
routes with POST
#adv_search_toggle
routes with POST
#adv_search_button
routes with POST
#quick_search
routes with POST
does not route with GET
#exp_button
routes with POST
#exp_changed
routes with POST
behaves like A controller that has download_data routes
#download_data
routes with GET
behaves like A controller that has show list routes
#show_list
routes with POST
routes with GET
behaves like A controller that has CRUD routes
#create
routes with POST
#edit
routes with GET
#index
routes with GET
#update
routes with POST
#show
routes with GET
ContainerProject
hide timelines button for EC2 provider
when with ontap_storage_volume_statistics
and @vmdb_config[:product][:smis] != true
has distinct nodes
and @vmdb_config[:product][:smis] = true
when with ontap_storage_system_statistics
has distinct images
ManageIQ::Providers::Openstack::CloudManager::Refresher
and @vmdb_config[:product][:smis] != true
and @vmdb_config[:product][:smis] = true
CustomButtonSet
hides ab_button_new action from toolbar when user has view permission only
hides ab_group_edit action from toolbar when user has view permission only
hides ab_group_delete action from toolbar when user has view permission only
when with ontap_logical_disk_statistics
and @vmdb_config[:product][:smis] != true
and @vmdb_config[:product][:smis] = true
when with dialog_add_element
and 3 nodes
and !@edit
and nodes > 4
and nodes < 3
and 4 nodes
when with dialog_edit
and !@edit
and @edit
when with dialog_resource_remove
and !@edit
and active_node != 'root'
and active_node = 'root'
and @sb[:edit_typ] != 'add'
and @sb[:edit_typ] = 'add'
ServiceTemplate
hides ab_group_new action from toolbar when user has view permission only
hides ab_button_new action from toolbar when user has view permission only
hides catalogitem_delete action from toolbar when user has view permission only
hides catalogitem_edit action from toolbar when user has view permission only
when with vm_vmrc_console
and server's remote_console_type is not VMRC
and record is console supported and server's remote_console_type is VMRC
and record is not console supported
and server's remote_console_type not set
when with miq_task_canceljob
and @layout = all_ui_tasks
and @layout = all_tasks
and @layout != all_tasks
and @layout != all_ui_tasks
when with dialog_copy
and @edit
and !@edit
when with vm_vnc_console
and record is console supported and server's remote_console_type is VNC
and record is not console supported
and server's remote_console_type not set
and server's remote_console_type is not VNC
when with vm_miq_request_new
and @lastaction = show, @display = vms
NilClass
hides ab_group_reorder action from toolbar when user has view permission only
hides ab_button_new action from toolbar when user has view permission only
hides ab_group_new action from toolbar when user has view permission only
#apply_common_props
button visibility
/home/travis/build/jrafanie/manageiq/vendor/bundle/ruby/2.3.0/gems/fog-core-1.43.0/lib/fog/core/attributes/default.rb:52: warning: redefining `object_id' may cause serious problems
honors explicit input's hidden properties
defaults to hidden false
saves the item info by the same key
when input[:url_parms] exists
when input[:confirm] exists
when input[:onwhen] exists
when input[:hidden] exists
internationalization
does delayed translation of text title and confirm strings
does translation of text title and confirm strings
toolbar_class
Displays PDF button when PdfGenerator is available
Disables edit and remove buttons for read-only orchestration templates
Enables edit and remove buttons for read-write orchestration templates
Hides PDF button when PdfGenerator is not available
#update_common_props
when item[:url] exists
calls url_for_button
saves the value as it is otherwise
#get_image
when not with show_summary
when with show_summary
and layout is scan_profile
and layout is miq_proxy
and layout is miq_schedule
otherwise
#hide_button_report with saved_report view only
when with saved_report_delete button should not be visible as user does not have access to these features
and record_id
#build_toolbar
when the toolbar to be built is a generic object toolbar
includes the button group (FAILED - 1)
Failures:
1) ApplicationHelper#build_toolbar when the toolbar to be built is a generic object toolbar includes the button group
Failure/Error:
toolbar_class.definition.each_with_index do |(name, group), group_index|
next if group_skipped?(name)
@sep_added = false
@groups_added.push(group_index)
case group
when ApplicationHelper::Toolbar::Group
group.buttons.each do |bgi|
build_button(bgi, group_index)
end
NoMethodError:
undefined method `definition' for #<Class:0x00000015145f90>
# ./app/helpers/application_helper/toolbar_builder.rb:21:in `build_toolbar'
# ./spec/helpers/application_helper/toolbar_builder_spec.rb:2071:in `block (4 levels) in <top (required)>'
Finished in 1 minute 57.93 seconds (files took 45 seconds to load)
528 examples, 1 failure
Failed examples:
rspec ./spec/helpers/application_helper/toolbar_builder_spec.rb:2070 # ApplicationHelper#build_toolbar when the toolbar to be built is a generic object toolbar includes the button group
Randomized with seed 816
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment