Skip to content

Commit bcdf635

Browse files
committed
properly prepend ProvisioningTemplate class with helper
fixes error during settings rendering because method is not found
1 parent 0973c3e commit bcdf635

File tree

3 files changed

+28
-2
lines changed

3 files changed

+28
-2
lines changed

app/models/concerns/foreman_rescue/provisioning_template_extensions.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
module ForemanRescue
44
module ProvisioningTemplateExtensions
5-
def self.templates_by_kind(kind)
5+
def templates_by_kind(kind)
66
template_kind = TemplateKind.find_by(name: kind)
77
ProvisioningTemplate.where(:template_kind => template_kind).pluck(:name, :name).to_h
88
end

lib/foreman_rescue/engine.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ class Engine < ::Rails::Engine
5454
Host::Managed.prepend ForemanRescue::HostExtensions
5555
HostsHelper.prepend ForemanRescue::HostsHelperExtensions
5656
Nic::Managed.prepend ForemanRescue::Orchestration::TFTP
57-
ProvisioningTemplate.prepend ForemanRescue::ProvisioningTemplateExtensions
57+
ProvisioningTemplate.singleton_class.prepend ForemanRescue::ProvisioningTemplateExtensions
5858
rescue StandardError => e
5959
Rails.logger.warn "ForemanRescue: skipping engine hook (#{e})"
6060
end
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# frozen_string_literal: true
2+
3+
require 'test_plugin_helper'
4+
5+
class ProvisioningHostTest < ActiveSupport::TestCase
6+
setup do
7+
User.current = FactoryBot.build(:user, :admin)
8+
disable_orchestration
9+
end
10+
11+
context 'provisioning template query' do
12+
context 'with type PXELinux' do
13+
let(:type) do
14+
'PXELinux'
15+
end
16+
17+
test 'should return templates' do
18+
templates = ProvisioningTemplate.templates_by_kind(type)
19+
20+
assert_includes templates, 'PXE Default Menu'
21+
assert_includes templates, 'PXELinux default local boot'
22+
assert_includes templates, 'PXELinux global default'
23+
end
24+
end
25+
end
26+
end

0 commit comments

Comments
 (0)