carrier 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +11 -7
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/app/controllers/carrier/messages_controller.rb +7 -2
- data/app/views/carrier/messages/_message.html.erb +1 -2
- data/app/views/carrier/messages/_reply.html.erb +2 -2
- data/app/views/carrier/messages/show.html.erb +0 -3
- data/carrier.gemspec +29 -23
- data/config/locales/carrier.en.yml +4 -0
- data/config/locales/carrier.ru.yml +4 -0
- data/lib/carrier/rails/engine.rb +1 -1
- data/spec/dummy/app/helpers/application_helper.rb +1 -0
- data/spec/dummy/app/views/devise/registrations/new.html.erb +3 -0
- data/spec/dummy/app/views/layouts/application.html.erb +1 -1
- data/spec/dummy/config/cucumber.yml +8 -0
- data/spec/dummy/config/database.yml +2 -2
- data/spec/dummy/config/environments/test.rb +2 -0
- data/spec/dummy/db/schema.rb +12 -12
- data/spec/dummy/factories/message.rb +9 -0
- data/spec/dummy/factories/user.rb +13 -0
- data/spec/dummy/features/carrier.feature +79 -0
- data/spec/dummy/features/step_definitions/debug_steps.rb +15 -0
- data/spec/dummy/features/step_definitions/resources_steps.rb +15 -0
- data/spec/dummy/features/step_definitions/web_steps.rb +301 -0
- data/spec/dummy/features/support/carrier_routes_helper.rb +5 -0
- data/spec/dummy/features/support/env.rb +47 -0
- data/spec/dummy/features/support/paths.rb +34 -0
- data/spec/dummy/features/support/rails_helper.rb +50 -0
- data/spec/dummy/features/support/singleton.rb +17 -0
- data/spec/dummy/features/support/transaction.rb +30 -0
- data/spec/dummy/lib/tasks/cucumber.rake +65 -0
- data/spec/dummy/script/cucumber +10 -0
- data/spec/dummy_spec_helper.rb +12 -26
- metadata +189 -136
- data/TODO +0 -1
- data/script/rails +0 -6
- data/spec/integration/carrier_spec.rb +0 -73
- data/test/helper.rb +0 -18
- data/test/test_carrier.rb +0 -7
data/Gemfile
CHANGED
@@ -6,22 +6,26 @@ gem 'unread'
|
|
6
6
|
gem 'sugar-high'
|
7
7
|
gem 'sweetloader'
|
8
8
|
|
9
|
-
group :development
|
10
|
-
gem 'rails', '~>3.1'
|
9
|
+
group :development do
|
11
10
|
gem 'unicorn'
|
11
|
+
gem 'rake-kit'
|
12
|
+
gem "jeweler", ">= 1.6.4"
|
13
|
+
end
|
14
|
+
|
15
|
+
group :development, :test do
|
16
|
+
gem 'rails', '3.2.2'
|
12
17
|
gem 'mysql2'
|
13
18
|
gem 'devise'
|
14
|
-
gem 'rake-kit'
|
15
19
|
gem 'cutter'
|
16
|
-
gem
|
17
|
-
gem "rspec-rails", '>= 2.5'
|
20
|
+
# gem 'ruby-debug19', :require => "ruby-debug"
|
18
21
|
end
|
19
22
|
|
20
23
|
group :test do
|
21
|
-
gem '
|
22
|
-
gem '
|
24
|
+
gem "rspec-rails", '>= 2.5'
|
25
|
+
gem 'factory_girl_rails'
|
23
26
|
gem 'spork'
|
24
27
|
gem "launchy"
|
25
28
|
gem 'shoulda'
|
29
|
+
gem 'cucumber-rails'
|
26
30
|
end
|
27
31
|
|
data/Rakefile
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.2
|
@@ -3,7 +3,13 @@
|
|
3
3
|
module Carrier
|
4
4
|
class MessagesController < ApplicationController
|
5
5
|
|
6
|
-
|
6
|
+
before_filter :only => [:show] do
|
7
|
+
@message = Message.find(params[:id], :include => :chain)
|
8
|
+
|
9
|
+
@message.chain_messages.each do |message|
|
10
|
+
message.mark_as_read! :for => current_user
|
11
|
+
end
|
12
|
+
end
|
7
13
|
|
8
14
|
def reply
|
9
15
|
@message = Message.new_answer params[:id], current_user
|
@@ -24,7 +30,6 @@ module Carrier
|
|
24
30
|
end
|
25
31
|
|
26
32
|
def show
|
27
|
-
@message = Message.find(params[:id], :include => :chain)
|
28
33
|
end
|
29
34
|
|
30
35
|
# TODO: introduce [:id or :username] key to be passed with to= param
|
@@ -1,8 +1,7 @@
|
|
1
|
-
<%=
|
1
|
+
<%= content_tag_for :div, message do %>
|
2
2
|
<div class="message_ma_wrapper ma_open">
|
3
3
|
<div class="message_ma_date"><%= raw message.date_formatted %></div>
|
4
4
|
<div class="message_ma_user"><%= message.sender_name %></div>
|
5
|
-
<div class="message_ma_subj"><b><%= message.subject %></b></div>
|
6
5
|
<div><%= message.content %></div>
|
7
6
|
</div>
|
8
7
|
<% end %>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<div class="message_ma_new_wrapper replay_message_ma">
|
6
6
|
<h4><span class=""><%= current_user.username %></span> ⇒ <span class="red"><%= @message.recipients_names %></span></h4>
|
7
7
|
<div class="field">
|
8
|
-
<%= f.label
|
8
|
+
<%= f.label :content, t('views.carrier.reply_content') %><br />
|
9
9
|
<%= f.text_area :content, :rows => 6 %>
|
10
10
|
</div>
|
11
11
|
|
@@ -16,7 +16,7 @@
|
|
16
16
|
<%= f.hidden_field :subject %>
|
17
17
|
|
18
18
|
<div class="actions">
|
19
|
-
<%= f.submit '
|
19
|
+
<%= f.submit t('views.carrier.reply_send') %>
|
20
20
|
</div>
|
21
21
|
</div>
|
22
22
|
<% end %>
|
data/carrier.gemspec
CHANGED
@@ -5,17 +5,16 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "carrier"
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["stanislaw"]
|
12
|
-
s.date = "
|
12
|
+
s.date = "2012-04-05"
|
13
13
|
s.description = "Raw github-like messaging system to reuse across Rails apps. Acts as Rails 3.1 mountable engine. Fast and robust."
|
14
14
|
s.email = "s.pankevich@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE.txt",
|
17
|
-
"README.textile"
|
18
|
-
"TODO"
|
17
|
+
"README.textile"
|
19
18
|
]
|
20
19
|
s.files = [
|
21
20
|
".document",
|
@@ -25,7 +24,6 @@ Gem::Specification.new do |s|
|
|
25
24
|
"MIT-LICENSE",
|
26
25
|
"README.textile",
|
27
26
|
"Rakefile",
|
28
|
-
"TODO",
|
29
27
|
"VERSION",
|
30
28
|
"app/assets/images/.gitkeep",
|
31
29
|
"app/assets/images/carrier/chosen-sprite.png",
|
@@ -84,7 +82,6 @@ Gem::Specification.new do |s|
|
|
84
82
|
"lib/carrier/rails/helpers.rb",
|
85
83
|
"lib/carrier/version.rb",
|
86
84
|
"lib/tasks/carrier_tasks.rake",
|
87
|
-
"script/rails",
|
88
85
|
"spec/carrier/app/controllers/application_controller_spec.rb",
|
89
86
|
"spec/carrier/app/models/message_scopes_spec.rb",
|
90
87
|
"spec/carrier/app/models/message_spec.rb",
|
@@ -129,6 +126,7 @@ Gem::Specification.new do |s|
|
|
129
126
|
"spec/dummy/config.ru",
|
130
127
|
"spec/dummy/config/application.rb",
|
131
128
|
"spec/dummy/config/boot.rb",
|
129
|
+
"spec/dummy/config/cucumber.yml",
|
132
130
|
"spec/dummy/config/database.yml",
|
133
131
|
"spec/dummy/config/database_mysql.yml",
|
134
132
|
"spec/dummy/config/database_pgsql.yml",
|
@@ -154,11 +152,25 @@ Gem::Specification.new do |s|
|
|
154
152
|
"spec/dummy/db/migrate/20110814164229_create_chains.rb",
|
155
153
|
"spec/dummy/db/schema.rb",
|
156
154
|
"spec/dummy/db/seeds.rb",
|
155
|
+
"spec/dummy/factories/message.rb",
|
156
|
+
"spec/dummy/factories/user.rb",
|
157
|
+
"spec/dummy/features/carrier.feature",
|
158
|
+
"spec/dummy/features/step_definitions/debug_steps.rb",
|
159
|
+
"spec/dummy/features/step_definitions/resources_steps.rb",
|
160
|
+
"spec/dummy/features/step_definitions/web_steps.rb",
|
161
|
+
"spec/dummy/features/support/carrier_routes_helper.rb",
|
162
|
+
"spec/dummy/features/support/env.rb",
|
163
|
+
"spec/dummy/features/support/paths.rb",
|
164
|
+
"spec/dummy/features/support/rails_helper.rb",
|
165
|
+
"spec/dummy/features/support/singleton.rb",
|
166
|
+
"spec/dummy/features/support/transaction.rb",
|
167
|
+
"spec/dummy/lib/tasks/cucumber.rake",
|
157
168
|
"spec/dummy/log/.gitkeep",
|
158
169
|
"spec/dummy/public/404.html",
|
159
170
|
"spec/dummy/public/422.html",
|
160
171
|
"spec/dummy/public/500.html",
|
161
172
|
"spec/dummy/public/favicon.ico",
|
173
|
+
"spec/dummy/script/cucumber",
|
162
174
|
"spec/dummy/script/rails",
|
163
175
|
"spec/dummy/test/fixtures/posts.yml",
|
164
176
|
"spec/dummy/test/fixtures/users.yml",
|
@@ -169,18 +181,15 @@ Gem::Specification.new do |s|
|
|
169
181
|
"spec/dummy/test/unit/post_test.rb",
|
170
182
|
"spec/dummy/test/unit/user_test.rb",
|
171
183
|
"spec/dummy_spec_helper.rb",
|
172
|
-
"spec/integration/carrier_spec.rb",
|
173
184
|
"spec/requests/main_spec.rb",
|
174
185
|
"spec/support/controller_macros.rb",
|
175
186
|
"spec/support/factories.rb",
|
176
|
-
"spec/support/rspec_helpers.rb"
|
177
|
-
"test/helper.rb",
|
178
|
-
"test/test_carrier.rb"
|
187
|
+
"spec/support/rspec_helpers.rb"
|
179
188
|
]
|
180
189
|
s.homepage = "http://github.com/stanislaw/carrier"
|
181
190
|
s.licenses = ["MIT"]
|
182
191
|
s.require_paths = ["lib"]
|
183
|
-
s.rubygems_version = "1.8.
|
192
|
+
s.rubygems_version = "1.8.19"
|
184
193
|
s.summary = "Raw github-like messaging system to reuse across Rails apps"
|
185
194
|
|
186
195
|
if s.respond_to? :specification_version then
|
@@ -192,28 +201,26 @@ Gem::Specification.new do |s|
|
|
192
201
|
s.add_runtime_dependency(%q<unread>, [">= 0"])
|
193
202
|
s.add_runtime_dependency(%q<sugar-high>, [">= 0"])
|
194
203
|
s.add_runtime_dependency(%q<sweetloader>, [">= 0"])
|
195
|
-
s.add_development_dependency(%q<rails>, ["~> 3.1"])
|
196
204
|
s.add_development_dependency(%q<unicorn>, [">= 0"])
|
205
|
+
s.add_development_dependency(%q<rake-kit>, [">= 0"])
|
206
|
+
s.add_development_dependency(%q<jeweler>, [">= 1.6.4"])
|
207
|
+
s.add_development_dependency(%q<rails>, ["= 3.2.2"])
|
197
208
|
s.add_development_dependency(%q<mysql2>, [">= 0"])
|
198
209
|
s.add_development_dependency(%q<devise>, [">= 0"])
|
199
|
-
s.add_development_dependency(%q<rake-kit>, [">= 0"])
|
200
210
|
s.add_development_dependency(%q<cutter>, [">= 0"])
|
201
|
-
s.add_development_dependency(%q<jeweler>, [">= 1.6.4"])
|
202
|
-
s.add_development_dependency(%q<rspec-rails>, [">= 2.5"])
|
203
211
|
else
|
204
212
|
s.add_dependency(%q<require_all>, [">= 0"])
|
205
213
|
s.add_dependency(%q<kaminari>, [">= 0"])
|
206
214
|
s.add_dependency(%q<unread>, [">= 0"])
|
207
215
|
s.add_dependency(%q<sugar-high>, [">= 0"])
|
208
216
|
s.add_dependency(%q<sweetloader>, [">= 0"])
|
209
|
-
s.add_dependency(%q<rails>, ["~> 3.1"])
|
210
217
|
s.add_dependency(%q<unicorn>, [">= 0"])
|
218
|
+
s.add_dependency(%q<rake-kit>, [">= 0"])
|
219
|
+
s.add_dependency(%q<jeweler>, [">= 1.6.4"])
|
220
|
+
s.add_dependency(%q<rails>, ["= 3.2.2"])
|
211
221
|
s.add_dependency(%q<mysql2>, [">= 0"])
|
212
222
|
s.add_dependency(%q<devise>, [">= 0"])
|
213
|
-
s.add_dependency(%q<rake-kit>, [">= 0"])
|
214
223
|
s.add_dependency(%q<cutter>, [">= 0"])
|
215
|
-
s.add_dependency(%q<jeweler>, [">= 1.6.4"])
|
216
|
-
s.add_dependency(%q<rspec-rails>, [">= 2.5"])
|
217
224
|
end
|
218
225
|
else
|
219
226
|
s.add_dependency(%q<require_all>, [">= 0"])
|
@@ -221,14 +228,13 @@ Gem::Specification.new do |s|
|
|
221
228
|
s.add_dependency(%q<unread>, [">= 0"])
|
222
229
|
s.add_dependency(%q<sugar-high>, [">= 0"])
|
223
230
|
s.add_dependency(%q<sweetloader>, [">= 0"])
|
224
|
-
s.add_dependency(%q<rails>, ["~> 3.1"])
|
225
231
|
s.add_dependency(%q<unicorn>, [">= 0"])
|
232
|
+
s.add_dependency(%q<rake-kit>, [">= 0"])
|
233
|
+
s.add_dependency(%q<jeweler>, [">= 1.6.4"])
|
234
|
+
s.add_dependency(%q<rails>, ["= 3.2.2"])
|
226
235
|
s.add_dependency(%q<mysql2>, [">= 0"])
|
227
236
|
s.add_dependency(%q<devise>, [">= 0"])
|
228
|
-
s.add_dependency(%q<rake-kit>, [">= 0"])
|
229
237
|
s.add_dependency(%q<cutter>, [">= 0"])
|
230
|
-
s.add_dependency(%q<jeweler>, [">= 1.6.4"])
|
231
|
-
s.add_dependency(%q<rspec-rails>, [">= 2.5"])
|
232
238
|
end
|
233
239
|
end
|
234
240
|
|
data/lib/carrier/rails/engine.rb
CHANGED
@@ -2,7 +2,7 @@ module Carrier
|
|
2
2
|
|
3
3
|
def self.carrier_requires
|
4
4
|
validators = Dir[File.join ::Carrier.config.root, "app/validators/**/*.rb"]
|
5
|
-
models = Dir[File.join ::Carrier.config.root, "app/models/**/*.rb"]
|
5
|
+
models = Dir[File.join ::Carrier.config.root, "app/models/carrier/**/*.rb"]
|
6
6
|
|
7
7
|
(validators + models).each do |rb_file|
|
8
8
|
require_dependency rb_file
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<%
|
2
|
+
rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
|
3
|
+
rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
|
4
|
+
std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags ~@wip"
|
5
|
+
%>
|
6
|
+
default: <%= std_opts %> features
|
7
|
+
wip: --tags @wip:3 --wip features
|
8
|
+
rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip
|
@@ -3,7 +3,7 @@ development:
|
|
3
3
|
host: localhost
|
4
4
|
database: carrier_development
|
5
5
|
username: root
|
6
|
-
password:
|
6
|
+
password:
|
7
7
|
encoding: utf8
|
8
8
|
|
9
9
|
test: &test
|
@@ -11,7 +11,7 @@ test: &test
|
|
11
11
|
host: localhost
|
12
12
|
database: carrier_test
|
13
13
|
username: root
|
14
|
-
password:
|
14
|
+
password:
|
15
15
|
encoding: utf8
|
16
16
|
|
17
17
|
production:
|
@@ -7,6 +7,8 @@ Dummy::Application.configure do
|
|
7
7
|
# and recreated between test runs. Don't rely on the data there!
|
8
8
|
config.cache_classes = true
|
9
9
|
|
10
|
+
config.use_transactional_fixtures = true
|
11
|
+
|
10
12
|
# Configure static asset server for tests with Cache-Control for performance
|
11
13
|
config.serve_static_assets = true
|
12
14
|
config.static_cache_control = "public, max-age=3600"
|
data/spec/dummy/db/schema.rb
CHANGED
@@ -14,14 +14,14 @@
|
|
14
14
|
ActiveRecord::Schema.define(:version => 20110814164229) do
|
15
15
|
|
16
16
|
create_table "chains", :force => true do |t|
|
17
|
-
t.string "participants", :default => "--- []\n
|
18
|
-
t.string "archived_for", :default => "--- []\n
|
17
|
+
t.string "participants", :default => "--- []\n"
|
18
|
+
t.string "archived_for", :default => "--- []\n"
|
19
19
|
t.integer "having_chain_id"
|
20
20
|
t.string "having_chain_type"
|
21
|
-
t.string "chain_type", :default => "--- :simple\n"
|
21
|
+
t.string "chain_type", :default => "--- :simple\n...\n"
|
22
22
|
t.integer "messages_count", :default => 0
|
23
|
-
t.datetime "created_at"
|
24
|
-
t.datetime "updated_at"
|
23
|
+
t.datetime "created_at", :null => false
|
24
|
+
t.datetime "updated_at", :null => false
|
25
25
|
end
|
26
26
|
|
27
27
|
add_index "chains", ["archived_for", "participants"], :name => "participants_and_archived_index"
|
@@ -30,21 +30,21 @@ ActiveRecord::Schema.define(:version => 20110814164229) do
|
|
30
30
|
|
31
31
|
create_table "messages", :force => true do |t|
|
32
32
|
t.integer "sender"
|
33
|
-
t.string "recipients", :default => "--- []\n
|
33
|
+
t.string "recipients", :default => "--- []\n"
|
34
34
|
t.string "subject"
|
35
35
|
t.text "content"
|
36
36
|
t.boolean "last", :default => false
|
37
37
|
t.integer "chain_id"
|
38
|
-
t.datetime "created_at"
|
39
|
-
t.datetime "updated_at"
|
38
|
+
t.datetime "created_at", :null => false
|
39
|
+
t.datetime "updated_at", :null => false
|
40
40
|
end
|
41
41
|
|
42
42
|
add_index "messages", ["chain_id"], :name => "index_messages_on_chain_id"
|
43
43
|
add_index "messages", ["created_at"], :name => "index_messages_on_created_at"
|
44
44
|
|
45
45
|
create_table "posts", :force => true do |t|
|
46
|
-
t.datetime "created_at"
|
47
|
-
t.datetime "updated_at"
|
46
|
+
t.datetime "created_at", :null => false
|
47
|
+
t.datetime "updated_at", :null => false
|
48
48
|
end
|
49
49
|
|
50
50
|
create_table "read_marks", :force => true do |t|
|
@@ -69,8 +69,8 @@ ActiveRecord::Schema.define(:version => 20110814164229) do
|
|
69
69
|
t.string "last_sign_in_ip"
|
70
70
|
t.string "name"
|
71
71
|
t.string "username"
|
72
|
-
t.datetime "created_at"
|
73
|
-
t.datetime "updated_at"
|
72
|
+
t.datetime "created_at", :null => false
|
73
|
+
t.datetime "updated_at", :null => false
|
74
74
|
end
|
75
75
|
|
76
76
|
add_index "users", ["email"], :name => "index_users_on_email", :unique => true
|
@@ -0,0 +1,79 @@
|
|
1
|
+
Feature:
|
2
|
+
In order to have simple github-like messaging functionality on my site
|
3
|
+
As a user
|
4
|
+
I want to send, receive and manage messages easily
|
5
|
+
|
6
|
+
Scenario: Listing Carrier main page when there are no messages created
|
7
|
+
Given I am logged in as user
|
8
|
+
When I am on Carrier's main page
|
9
|
+
Then I should see "No messages yet"
|
10
|
+
|
11
|
+
Scenario: Listing Carrier inbox page when there is a message I sent
|
12
|
+
Given There is user with username "stanislaw"
|
13
|
+
And There is second user with username "miloviza"
|
14
|
+
And There is a message with content "Hello, Miloviza!"
|
15
|
+
And I am logged in as user
|
16
|
+
When I am on Carrier's 'inbox' page
|
17
|
+
Then I should see "No messages yet"
|
18
|
+
|
19
|
+
Scenario: Listing Carrier 'sent' page when there is a message I sent
|
20
|
+
Given There is user with username "stanislaw"
|
21
|
+
And There is second user with username "miloviza"
|
22
|
+
And There is a message with content "Hello, Miloviza!"
|
23
|
+
And I am logged in as user
|
24
|
+
When I am on Carrier's 'sent' page
|
25
|
+
Then I should see "Hello, Miloviza!"
|
26
|
+
|
27
|
+
|
28
|
+
Scenario: Creating a message
|
29
|
+
Given There is user with username "stanislaw"
|
30
|
+
And There is second user with username "miloviza"
|
31
|
+
And I am logged in as user
|
32
|
+
And I go to new message path
|
33
|
+
And I select "miloviza" from "Recipients"
|
34
|
+
And I fill in "Subject" with "Subject for test message"
|
35
|
+
And I fill in "Message" with "Content for test message"
|
36
|
+
And I press "Send"
|
37
|
+
Then I should see "Message successfully created"
|
38
|
+
Then I should see "Subject for test message"
|
39
|
+
Then I should see "Content for test message"
|
40
|
+
|
41
|
+
@javascript
|
42
|
+
Scenario: Archiving a message
|
43
|
+
Given There is user with username "stanislaw"
|
44
|
+
And I am logged in as user
|
45
|
+
|
46
|
+
And There is second user with username "miloviza"
|
47
|
+
And There is a message with content "Hello, Miloviza!"
|
48
|
+
And I go to this message page
|
49
|
+
When I click "Archive!"
|
50
|
+
Then I should see "Thread archived"
|
51
|
+
|
52
|
+
@javascript
|
53
|
+
Scenario: Un-archiving a message
|
54
|
+
Given There is user with username "stanislaw"
|
55
|
+
And I am logged in as user
|
56
|
+
|
57
|
+
And There is second user with username "miloviza"
|
58
|
+
And There is a message with content "Hello, Miloviza!"
|
59
|
+
And I go to this message page
|
60
|
+
And I click "Archive!"
|
61
|
+
Then I should see "Unarchive?"
|
62
|
+
|
63
|
+
When I click "Unarchive?"
|
64
|
+
Then I should see "Archive!"
|
65
|
+
|
66
|
+
@javascript
|
67
|
+
Scenario: Answering a message
|
68
|
+
Given There is user with username "stanislaw"
|
69
|
+
And I am logged in as user
|
70
|
+
|
71
|
+
And There is second user with username "miloviza"
|
72
|
+
And There is a message with content "Hello, Miloviza!"
|
73
|
+
And I go to this message page
|
74
|
+
|
75
|
+
And I click "Reply into thread"
|
76
|
+
And I fill in "Message" with "This is the answer to the message"
|
77
|
+
And I press "Reply"
|
78
|
+
Then I should see "This is the answer to the message"
|
79
|
+
Then I should not see "Reply" within "#reply_form"
|