Skip to content

Commit d08afe8

Browse files
committed
separated print hook's resource_items key to asset/human
1 parent a696048 commit d08afe8

File tree

3 files changed

+20
-8
lines changed

3 files changed

+20
-8
lines changed

lib/redmine_supply/hooks.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ def redmine_gtt_print_issue_to_json(context)
77
json = context[:json]
88
attributes = json[:attributes] ||= {}
99
attributes[:supply_items] = IssueSupplyItemsPresenter.(issue.issue_supply_items).join("\r\n")
10-
attributes[:resource_items] = ResourceItemsPresenter.(issue.resource_items).join("\r\n")
10+
items_by_type = issue.resource_items_by_type
11+
attributes[:asset_resource_items] = ResourceItemsPresenter.(items_by_type['asset']).join("\r\n")
12+
attributes[:human_resource_items] = ResourceItemsPresenter.(items_by_type['human']).join("\r\n")
1113
end
1214
end
1315
end

test/test_helper.rb

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def self.generate!(name: 'an asset', project:,
4444

4545
Human.class_eval do
4646
def self.generate!(name: 'a human', project:,
47-
category: ResourceCategory.generate!(project: project))
47+
category: ResourceCategory.generate!(project: project, for_assets: false))
4848
r = RedmineResourceManager::SaveResourceItem.(
4949
{ name: name, category_id: category.id },
5050
project: project, resource_class: Human
@@ -58,9 +58,12 @@ def self.generate!(name: 'a human', project:,
5858
end
5959

6060
ResourceCategory.class_eval do
61-
def self.generate!(name: "resource category", project:)
61+
def self.generate!(name: "", project:, for_assets: true)
62+
if name.empty?
63+
name = for_assets ? "asset resource category" : "human resource_category"
64+
end
6265
r = RedmineResourceManager::SaveResourceCategory.(
63-
{ name: name, for_assets: true }, project: project
66+
{ name: name, for_assets: for_assets, for_humans: !for_assets }, project: project
6467
)
6568
if r.category_saved?
6669
r.category

test/unit/hooks_test.rb

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,11 @@ class HooksTest < ActiveSupport::TestCase
1010
@item = SupplyItem.generate! project: @project
1111
@isi = IssueSupplyItem.create! issue: @issue, supply_item: @item, quantity: 1
1212

13-
@resource = Asset.generate! project: @project
14-
@iri = IssueResourceItem.create! issue: @issue, resource_item: @resource
13+
@asset_resource = Asset.generate! project: @project
14+
@iari = IssueResourceItem.create! issue: @issue, resource_item: @asset_resource
15+
16+
@human_resource = Human.generate! project: @project
17+
@ihri = IssueResourceItem.create! issue: @issue, resource_item: @human_resource
1518
end
1619

1720
test 'should add supply and resource items to json' do
@@ -22,9 +25,13 @@ class HooksTest < ActiveSupport::TestCase
2225
assert_equal 1, items.size
2326
assert_equal "#{@item.name} (1.0 pcs)", items.first
2427

25-
assert items = json[:attributes][:resource_items].split('\r\n')
28+
assert items = json[:attributes][:asset_resource_items].split('\r\n')
29+
assert_equal 1, items.size
30+
assert_equal @asset_resource.name, items.first
31+
32+
assert items = json[:attributes][:human_resource_items].split('\r\n')
2633
assert_equal 1, items.size
27-
assert_equal @resource.name, items.first
34+
assert_equal @human_resource.name, items.first
2835

2936
end
3037
end

0 commit comments

Comments
 (0)