1
0

Added test_create_binding_target

Goals (incl. binding) are required to have targets
Plugin fixtures are available through accessors
This commit is contained in:
cryptogopher
2020-08-20 21:52:18 +02:00
parent 13974e5e2f
commit f9ba308072
21 changed files with 103 additions and 27 deletions

View File

@@ -21,8 +21,11 @@ class BodyTrackingSystemTestCase < ApplicationSystemTestCase
FileUtils.rm Dir.glob(File.join(config.save_path, '*.png'))
end
fixtures :projects
plugin_fixtures :quantities, :units, :goals, :exposures, :targets, :quantity_values
fixtures :projects, :users, :members
# Redmine fixtures use explicit IDs, so it's impossible to access them by name.
# Use: 'project_id: 1' and NOT 'project: projects_001'
plugin_fixtures :enabled_modules, :roles, :member_roles,
:quantities, :units, :goals, :exposures, :targets, :quantity_values
include AbstractController::Translation

3
test/fixtures/enabled_modules.yml vendored Normal file
View File

@@ -0,0 +1,3 @@
enabled_modules_body_tracking:
name: body_tracking
project_id: 1

View File

@@ -1,4 +1,4 @@
goals_binding:
project_id: 1
is_binding: true
name: '- binding -'
name: "<%= I18n.t 'targets.form.binding_goal' %>"

3
test/fixtures/member_roles.yml vendored Normal file
View File

@@ -0,0 +1,3 @@
member_roles_jsmith_manager:
member_id: 1
role: roles_body_trackers_manager

15
test/fixtures/roles.yml vendored Normal file
View File

@@ -0,0 +1,15 @@
roles_body_trackers_manager:
name: Manage body trackers
builtin: false
issues_visibility: all
users_visibility: all
permissions: |
- :manage_body_trackers
- :view_body_trackers
roles_body_trackers_viewer:
name: View body trackers
builtin: false
issues_visibility: all
users_visibility: all
permissions: |
- :view_body_trackers

View File

@@ -6,12 +6,7 @@ class TargetsTest < BodyTrackingSystemTestCase
@project1 = projects(:projects_001)
log_user 'alice', 'foo'
end
def teardown
logout_user
super
log_user 'jsmith', 'jsmith'
end
def test_index
@@ -29,6 +24,31 @@ class TargetsTest < BodyTrackingSystemTestCase
assert_selector 'div#targets', visible: :yes, exact_text: t(:label_no_data)
end
def test_create_saves_binding_goal_if_nonexistent
def test_index_shows_and_hides_new_target_form
end
def test_create_binding_target
visit project_targets_path(@project1)
assert_current_path project_targets_path(@project1)
assert_no_selector 'form#new-target-form'
click_link t('targets.contextual.link_new_target')
within 'form#new-target-form' do
assert has_select?(t(:field_goal), selected: t('targets.form.binding_goal'))
assert has_field?(t(:field_effective_from), with: Date.current.strftime)
within 'p.target' do
select quantities(:quantities_energy).name
select '=='
fill_in with: '1750'
select units(:units_kcal).shortname
end
assert_difference 'Target.count' => 1, 'Threshold.count' => 1, 'Goal.count' => 0 do
click_on t(:button_create)
end
end
assert_current_path project_targets_path(@project1)
assert_selector 'table#targets tbody tr', count: @project1.targets.count
end
def test_create_binding_target_when_binding_goal_does_not_exist
end
end