OSDN Git Service

Spinach test for broadcast messages
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Tue, 12 Nov 2013 16:56:48 +0000 (18:56 +0200)
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Tue, 12 Nov 2013 16:56:48 +0000 (18:56 +0200)
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
features/admin/broadcast_messages.feature [new file with mode: 0644]
features/steps/admin/admin_broadcast_messages.rb [new file with mode: 0644]

diff --git a/features/admin/broadcast_messages.feature b/features/admin/broadcast_messages.feature
new file mode 100644 (file)
index 0000000..0294b51
--- /dev/null
@@ -0,0 +1,13 @@
+Feature: Admin Broadcast Messages
+  Background:
+    Given I sign in as an admin
+    And application already has admin messages
+    And I visit admin messages page
+
+  Scenario: See broadcast messages list
+    Then I should be all broadcast messages
+
+  Scenario: Create a broadcast message
+    When submit form with new broadcast message
+    Then I should be redirected to admin messages page
+    And I should see newly created broadcast message
diff --git a/features/steps/admin/admin_broadcast_messages.rb b/features/steps/admin/admin_broadcast_messages.rb
new file mode 100644 (file)
index 0000000..4dfaac0
--- /dev/null
@@ -0,0 +1,27 @@
+class Spinach::Features::AdminBroadcastMessages < Spinach::FeatureSteps
+  include SharedAuthentication
+  include SharedPaths
+  include SharedAdmin
+
+  step 'application already has admin messages' do
+    FactoryGirl.create(:broadcast_message, message: "Migration to new server")
+  end
+
+  step 'I should be all broadcast messages' do
+    page.should have_content "Migration to new server"
+  end
+
+  step 'submit form with new broadcast message' do
+    fill_in 'broadcast_message_message', with: 'Application update from 4:00 CST to 5:00 CST'
+    select '2018', from: "broadcast_message_ends_at_1i"
+    click_button "Add broadcast message"
+  end
+
+  step 'I should be redirected to admin messages page' do
+    current_path.should == admin_broadcast_messages_path
+  end
+
+  step 'I should see newly created broadcast message' do
+    page.should have_content 'Application update from 4:00 CST to 5:00 CST'
+  end
+end