aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/decorators/purchase_window_decorator.rb2
-rw-r--r--config/locales/purchase_windows.en.yml2
-rw-r--r--spec/features/purchase_windows_spec.rb65
3 files changed, 67 insertions, 2 deletions
diff --git a/app/decorators/purchase_window_decorator.rb b/app/decorators/purchase_window_decorator.rb
index 13bc4d666..646fdea0d 100644
--- a/app/decorators/purchase_window_decorator.rb
+++ b/app/decorators/purchase_window_decorator.rb
@@ -18,7 +18,7 @@ class PurchaseWindowDecorator < Draper::Decorator
content: I18n.t('actions.destroy'),
href: h.referential_purchase_window_path(context[:referential].id, object),
method: :delete,
- data: { confirm: h.t('purchase_window.actions.destroy_confirm') }
+ data: { confirm: h.t('purchase_windows.actions.destroy_confirm') }
)
end
diff --git a/config/locales/purchase_windows.en.yml b/config/locales/purchase_windows.en.yml
index f8f3eb83d..c0f402bf4 100644
--- a/config/locales/purchase_windows.en.yml
+++ b/config/locales/purchase_windows.en.yml
@@ -48,7 +48,7 @@ en:
title: purchase window %{name}
simple_form:
labels:
- purchase_windows:
+ purchase_window:
date_value: Date
add_a_date: Add a date
add_a_date_range: Add a date range
diff --git a/spec/features/purchase_windows_spec.rb b/spec/features/purchase_windows_spec.rb
new file mode 100644
index 000000000..8edc85cc6
--- /dev/null
+++ b/spec/features/purchase_windows_spec.rb
@@ -0,0 +1,65 @@
+describe "PurchaseWindows", type: :feature do
+ login_user
+
+ describe "#index" do
+ with_permissions('purchase_windows.create') do
+ it "allows users to create new purchase windows" do
+ name = 'Test purchase window create'
+
+ visit(referential_purchase_windows_path(first_referential.id))
+
+ click_link(I18n.t('purchase_windows.actions.new'))
+
+ fill_in('purchase_window[name]', with: name)
+ select('#DD2DAA', from: 'purchase_window[color]')
+
+ click_link(I18n.t('simple_form.labels.purchase_window.add_a_date_range'))
+ click_button(I18n.t('actions.submit'))
+
+ expect(page).to have_content(name)
+ end
+ end
+
+ with_permissions('purchase_windows.update') do
+ it "allows users to update purchase windows" do
+ actual_name = 'Existing purchase window'
+ expected_name = 'Updated purchase window'
+ create(
+ :purchase_window,
+ referential: first_referential,
+ name: actual_name
+ )
+
+ visit(referential_purchase_windows_path(first_referential.id))
+
+ click_link(actual_name)
+
+ click_link(I18n.t('purchase_windows.actions.edit'))
+ fill_in('purchase_window[name]', with: expected_name)
+
+ click_button(I18n.t('actions.submit'))
+
+ expect(page).to have_content(expected_name)
+ end
+ end
+
+ with_permissions('purchase_windows.destroy') do
+ it "allows users to destroy purchase windows" do
+ name = 'Existing purchase window'
+ create(
+ :purchase_window,
+ referential: first_referential,
+ name: name
+ )
+
+ visit(referential_purchase_windows_path(first_referential.id))
+
+ click_link(name)
+
+ click_link(I18n.t('purchase_windows.actions.destroy'))
+
+ expect(page).to_not have_content(name)
+ end
+ end
+ end
+end