aboutsummaryrefslogtreecommitdiffstats
path: root/spec/features
diff options
context:
space:
mode:
Diffstat (limited to 'spec/features')
-rw-r--r--spec/features/purchase_windows_spec.rb65
1 files changed, 65 insertions, 0 deletions
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