simple_contact 0.0.3 → 0.0.5
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.
- checksums.yaml +4 -4
- data/MIT-LICENSE +1 -1
- data/README.rdoc +37 -2
- data/app/controllers/simple_contact/application_controller.rb +2 -4
- data/app/controllers/simple_contact/contact_controller.rb +12 -16
- data/app/mailers/simple_contact/contact_mailer.rb +4 -6
- data/app/models/simple_contact/message.rb +13 -15
- data/config/routes.rb +1 -0
- data/lib/simple_contact/version.rb +1 -1
- data/test/controllers/contact_controller_test.rb +33 -0
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/development.log +5 -0
- data/test/dummy/log/test.log +1619 -0
- data/test/factories/messages.rb +10 -0
- data/test/mailers/contact_mailer_test.rb +25 -0
- data/test/models/message_test.rb +42 -0
- data/test/test_helper.rb +9 -4
- metadata +32 -24
- data/app/assets/javascripts/simple_contact/application.js +0 -15
- data/app/assets/javascripts/simple_contact/contact.js +0 -2
- data/app/assets/stylesheets/simple_contact/application.css +0 -13
- data/app/assets/stylesheets/simple_contact/contact.css +0 -4
- data/app/helpers/simple_contact/application_helper.rb +0 -4
- data/app/helpers/simple_contact/contact_helper.rb +0 -4
- data/test/fixtures/simple_contact/messages.yml +0 -11
- data/test/functional/simple_contact/contact_controller_test.rb +0 -9
- data/test/functional/simple_contact/contact_mailer_test.rb +0 -9
- data/test/integration/navigation_test.rb +0 -10
- data/test/unit/helpers/simple_contact/contact_helper_test.rb +0 -6
- data/test/unit/simple_contact/message_test.rb +0 -9
@@ -0,0 +1,10 @@
|
|
1
|
+
# Read about factories at https://github.com/thoughtbot/factory_girl
|
2
|
+
require 'ffaker'
|
3
|
+
FactoryGirl.define do
|
4
|
+
factory :message, class: SimpleContact::Message do
|
5
|
+
body { Faker::Lorem.paragraph }
|
6
|
+
email { Faker::Internet.email }
|
7
|
+
name { Faker::Name.name }
|
8
|
+
subject { Faker::Lorem.sentence }
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class SimpleContact::ContactMailerTest < ActionMailer::TestCase
|
4
|
+
|
5
|
+
before do
|
6
|
+
@routes = SimpleContact::Engine.routes
|
7
|
+
ENV['SIMPLE_CONTACT_TO_EMAIL'] = 'test@example.com'
|
8
|
+
ENV['SIMPLE_CONTACT_SUBJECT_PREFIX'] = "[Simple Contact]"
|
9
|
+
@message = build(:message)
|
10
|
+
@email = SimpleContact::ContactMailer.contact_message(@message).deliver
|
11
|
+
end
|
12
|
+
|
13
|
+
it "is delivered to simple_contact_to_email" do
|
14
|
+
assert_equal @email.to.pop, ENV['SIMPLE_CONTACT_TO_EMAIL']
|
15
|
+
end
|
16
|
+
|
17
|
+
it "is delivered from the senders email" do
|
18
|
+
assert_equal @email.from.pop, @message.email
|
19
|
+
end
|
20
|
+
|
21
|
+
it "is delivered with an appropriate subject" do
|
22
|
+
assert_equal @email.subject, "#{ENV['SIMPLE_CONTACT_SUBJECT_PREFIX']} #{@message.subject}"
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
|
3
|
+
class SimpleContact::MessageTest < ActiveSupport::TestCase
|
4
|
+
|
5
|
+
def setup
|
6
|
+
@message = build(:message)
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_valid
|
10
|
+
assert @message.valid?
|
11
|
+
assert_match /\A[^@\s]+@([^@\s]+\.)+[^@\s]+\z/, @message.email
|
12
|
+
end
|
13
|
+
|
14
|
+
test "rejects a message without a body" do
|
15
|
+
@message.body = nil
|
16
|
+
assert @message.invalid?
|
17
|
+
end
|
18
|
+
|
19
|
+
test "rejects a message without a subject" do
|
20
|
+
@message.subject = nil
|
21
|
+
assert @message.invalid?
|
22
|
+
end
|
23
|
+
|
24
|
+
test "rejects a message without a name" do
|
25
|
+
@message.name = nil
|
26
|
+
assert @message.invalid?
|
27
|
+
end
|
28
|
+
|
29
|
+
test "rejects a message without a email" do
|
30
|
+
@message.email = nil
|
31
|
+
assert @message.invalid?, "Doesn't have an email"
|
32
|
+
end
|
33
|
+
|
34
|
+
test "checks that email has a valid format" do
|
35
|
+
@message.email = 'invalid@example,com'
|
36
|
+
assert @message.invalid?, "email format was not invalid"
|
37
|
+
refute_match /\A[^@\s]+@([^@\s]+\.)+[^@\s]+\z/, @message.email
|
38
|
+
end
|
39
|
+
|
40
|
+
|
41
|
+
end
|
42
|
+
|
data/test/test_helper.rb
CHANGED
@@ -1,8 +1,12 @@
|
|
1
|
+
require "coveralls"
|
2
|
+
Coveralls.wear!('rails')
|
1
3
|
ENV["RAILS_ENV"] = "test"
|
2
4
|
require File.expand_path("../dummy/config/environment.rb", __FILE__)
|
3
5
|
require "rails/test_help"
|
4
6
|
require "minitest/rails"
|
5
|
-
|
7
|
+
require "minitest/spec" # require this if you wan't spec syntax support
|
8
|
+
require 'factory_girl'
|
9
|
+
FactoryGirl.find_definitions
|
6
10
|
|
7
11
|
# To add Capybara feature tests add `gem "minitest-rails-capybara"`
|
8
12
|
# to the test group in the Gemfile and uncomment the following:
|
@@ -12,8 +16,9 @@ require "minitest/rails"
|
|
12
16
|
require "minitest/pride"
|
13
17
|
|
14
18
|
class ActiveSupport::TestCase
|
15
|
-
|
16
|
-
|
19
|
+
include FactoryGirl::Syntax::Methods
|
20
|
+
end
|
17
21
|
|
18
|
-
|
22
|
+
class ActionController::TestCase
|
23
|
+
include FactoryGirl::Syntax::Methods
|
19
24
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_contact
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Eggett
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: factory_girl_rails
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 4.2.0
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 4.2.0
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: ffaker
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -67,19 +81,19 @@ dependencies:
|
|
67
81
|
- !ruby/object:Gem::Version
|
68
82
|
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
84
|
+
name: coveralls
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
|
-
- -
|
87
|
+
- - '>='
|
74
88
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
89
|
+
version: '0'
|
76
90
|
type: :development
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
|
-
- -
|
94
|
+
- - '>='
|
81
95
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
96
|
+
version: '0'
|
83
97
|
description: Provides a stupidly simple contact form with bootstrap class theming
|
84
98
|
for rails
|
85
99
|
email:
|
@@ -88,14 +102,8 @@ executables: []
|
|
88
102
|
extensions: []
|
89
103
|
extra_rdoc_files: []
|
90
104
|
files:
|
91
|
-
- app/assets/javascripts/simple_contact/application.js
|
92
|
-
- app/assets/javascripts/simple_contact/contact.js
|
93
|
-
- app/assets/stylesheets/simple_contact/application.css
|
94
|
-
- app/assets/stylesheets/simple_contact/contact.css
|
95
105
|
- app/controllers/simple_contact/application_controller.rb
|
96
106
|
- app/controllers/simple_contact/contact_controller.rb
|
97
|
-
- app/helpers/simple_contact/application_helper.rb
|
98
|
-
- app/helpers/simple_contact/contact_helper.rb
|
99
107
|
- app/mailers/simple_contact/contact_mailer.rb
|
100
108
|
- app/models/simple_contact/message.rb
|
101
109
|
- app/views/simple_contact/contact/new.html.erb
|
@@ -109,6 +117,7 @@ files:
|
|
109
117
|
- MIT-LICENSE
|
110
118
|
- Rakefile
|
111
119
|
- README.rdoc
|
120
|
+
- test/controllers/contact_controller_test.rb
|
112
121
|
- test/dummy/app/assets/javascripts/application.js
|
113
122
|
- test/dummy/app/assets/javascripts/home.js
|
114
123
|
- test/dummy/app/assets/stylesheets/application.css
|
@@ -136,7 +145,9 @@ files:
|
|
136
145
|
- test/dummy/config/routes.rb
|
137
146
|
- test/dummy/config.ru
|
138
147
|
- test/dummy/db/development.sqlite3
|
148
|
+
- test/dummy/db/test.sqlite3
|
139
149
|
- test/dummy/log/development.log
|
150
|
+
- test/dummy/log/test.log
|
140
151
|
- test/dummy/public/404.html
|
141
152
|
- test/dummy/public/422.html
|
142
153
|
- test/dummy/public/500.html
|
@@ -171,14 +182,11 @@ files:
|
|
171
182
|
- test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
|
172
183
|
- test/dummy/tmp/cache/assets/E0C/150/sprockets%2F598d5d80d9cf96a6afbcff06f31d5ca4
|
173
184
|
- test/dummy/tmp/restart.txt
|
174
|
-
- test/
|
175
|
-
- test/
|
176
|
-
- test/
|
177
|
-
- test/integration/navigation_test.rb
|
185
|
+
- test/factories/messages.rb
|
186
|
+
- test/mailers/contact_mailer_test.rb
|
187
|
+
- test/models/message_test.rb
|
178
188
|
- test/simple_contact_test.rb
|
179
189
|
- test/test_helper.rb
|
180
|
-
- test/unit/helpers/simple_contact/contact_helper_test.rb
|
181
|
-
- test/unit/simple_contact/message_test.rb
|
182
190
|
homepage: http://github.com/beneggett/simple_contact
|
183
191
|
licenses: []
|
184
192
|
metadata: {}
|
@@ -204,6 +212,7 @@ specification_version: 4
|
|
204
212
|
summary: Provides a stupidly simple contact form with bootstrap class theming for
|
205
213
|
rails
|
206
214
|
test_files:
|
215
|
+
- test/controllers/contact_controller_test.rb
|
207
216
|
- test/dummy/app/assets/javascripts/application.js
|
208
217
|
- test/dummy/app/assets/javascripts/home.js
|
209
218
|
- test/dummy/app/assets/stylesheets/application.css
|
@@ -231,7 +240,9 @@ test_files:
|
|
231
240
|
- test/dummy/config/routes.rb
|
232
241
|
- test/dummy/config.ru
|
233
242
|
- test/dummy/db/development.sqlite3
|
243
|
+
- test/dummy/db/test.sqlite3
|
234
244
|
- test/dummy/log/development.log
|
245
|
+
- test/dummy/log/test.log
|
235
246
|
- test/dummy/public/404.html
|
236
247
|
- test/dummy/public/422.html
|
237
248
|
- test/dummy/public/500.html
|
@@ -266,11 +277,8 @@ test_files:
|
|
266
277
|
- test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
|
267
278
|
- test/dummy/tmp/cache/assets/E0C/150/sprockets%2F598d5d80d9cf96a6afbcff06f31d5ca4
|
268
279
|
- test/dummy/tmp/restart.txt
|
269
|
-
- test/
|
270
|
-
- test/
|
271
|
-
- test/
|
272
|
-
- test/integration/navigation_test.rb
|
280
|
+
- test/factories/messages.rb
|
281
|
+
- test/mailers/contact_mailer_test.rb
|
282
|
+
- test/models/message_test.rb
|
273
283
|
- test/simple_contact_test.rb
|
274
284
|
- test/test_helper.rb
|
275
|
-
- test/unit/helpers/simple_contact/contact_helper_test.rb
|
276
|
-
- test/unit/simple_contact/message_test.rb
|
@@ -1,15 +0,0 @@
|
|
1
|
-
// This is a manifest file that'll be compiled into application.js, which will include all the files
|
2
|
-
// listed below.
|
3
|
-
//
|
4
|
-
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
5
|
-
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
|
6
|
-
//
|
7
|
-
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
8
|
-
// the compiled file.
|
9
|
-
//
|
10
|
-
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
|
11
|
-
// GO AFTER THE REQUIRES BELOW.
|
12
|
-
//
|
13
|
-
//= require jquery
|
14
|
-
//= require jquery_ujs
|
15
|
-
//= require_tree .
|
@@ -1,13 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
3
|
-
* listed below.
|
4
|
-
*
|
5
|
-
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
6
|
-
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
|
7
|
-
*
|
8
|
-
* You're free to add application-wide styles to this file and they'll appear at the top of the
|
9
|
-
* compiled file, but it's generally better to create a new file per style scope.
|
10
|
-
*
|
11
|
-
*= require_self
|
12
|
-
*= require_tree .
|
13
|
-
*/
|
@@ -1,11 +0,0 @@
|
|
1
|
-
# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html
|
2
|
-
|
3
|
-
# This model initially had no columns defined. If you add columns to the
|
4
|
-
# model remove the '{}' from the fixture names and add the columns immediately
|
5
|
-
# below each fixture, per the syntax in the comments below
|
6
|
-
#
|
7
|
-
one: {}
|
8
|
-
# column: value
|
9
|
-
#
|
10
|
-
two: {}
|
11
|
-
# column: value
|