upmin-admin 0.0.38 → 0.0.39
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/README.md +71 -0
- data/Rakefile +66 -23
- data/app/assets/stylesheets/upmin/actions.css.scss +6 -0
- data/app/assets/stylesheets/upmin/attributes.css.scss +0 -1
- data/app/assets/stylesheets/upmin/base.css.scss +18 -0
- data/app/controllers/upmin/models_controller.rb +62 -3
- data/app/views/upmin/models/new.html.haml +21 -0
- data/app/views/upmin/models/search.html.haml +6 -1
- data/app/views/upmin/models/show.html.haml +2 -2
- data/app/views/upmin/partials/actions/_action.html.haml +13 -2
- data/app/views/upmin/partials/attributes/_nilable.html.haml +14 -0
- data/app/views/upmin/partials/models/_model.html.haml +7 -2
- data/app/views/upmin/partials/models/_new_model.html.haml +44 -0
- data/config/routes.rb +5 -2
- data/lib/upmin/admin.rb +2 -0
- data/lib/upmin/klass.rb +5 -0
- data/lib/upmin/model.rb +4 -0
- data/lib/upmin/paginator.rb +1 -1
- data/lib/upmin/railties/active_record.rb +8 -7
- data/lib/upmin/railties/render_helpers.rb +6 -4
- data/lib/upmin/version.rb +1 -1
- data/spec/factories/factories.rb +16 -0
- data/spec/features/action_spec.rb +68 -0
- data/spec/features/edit_model_spec.rb +74 -0
- data/spec/features/new_model_spec.rb +68 -0
- data/spec/features/search_spec.rb +77 -0
- data/spec/spec_helper.rb +51 -0
- metadata +91 -78
- data/test/controllers/upmin/model_controller_test.rb +0 -11
- data/test/dummy/README.rdoc +0 -28
- data/test/dummy/Rakefile +0 -6
- data/test/dummy/app/assets/javascripts/application.js +0 -13
- data/test/dummy/app/assets/stylesheets/application.css +0 -15
- data/test/dummy/app/controllers/application_controller.rb +0 -5
- data/test/dummy/app/helpers/application_helper.rb +0 -2
- data/test/dummy/app/views/layouts/application.html.erb +0 -14
- data/test/dummy/bin/bundle +0 -3
- data/test/dummy/bin/rails +0 -4
- data/test/dummy/bin/rake +0 -4
- data/test/dummy/config.ru +0 -4
- data/test/dummy/config/application.rb +0 -23
- data/test/dummy/config/boot.rb +0 -5
- data/test/dummy/config/database.yml +0 -25
- data/test/dummy/config/environment.rb +0 -5
- data/test/dummy/config/environments/development.rb +0 -37
- data/test/dummy/config/environments/production.rb +0 -83
- data/test/dummy/config/environments/test.rb +0 -39
- data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/test/dummy/config/initializers/cookies_serializer.rb +0 -3
- data/test/dummy/config/initializers/filter_parameter_logging.rb +0 -4
- data/test/dummy/config/initializers/inflections.rb +0 -16
- data/test/dummy/config/initializers/mime_types.rb +0 -4
- data/test/dummy/config/initializers/session_store.rb +0 -3
- data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/test/dummy/config/locales/en.yml +0 -23
- data/test/dummy/config/routes.rb +0 -4
- data/test/dummy/config/secrets.yml +0 -22
- data/test/dummy/public/404.html +0 -67
- data/test/dummy/public/422.html +0 -67
- data/test/dummy/public/500.html +0 -66
- data/test/dummy/public/favicon.ico +0 -0
- data/test/helpers/upmin/model_helper_test.rb +0 -6
- data/test/integration/navigation_test.rb +0 -10
- data/test/test_helper.rb +0 -15
- data/test/upmin_test.rb +0 -7
data/config/routes.rb
CHANGED
@@ -5,11 +5,14 @@ Upmin::Engine.routes.draw do
|
|
5
5
|
# TODO(jon): Move dashboards to an appropriate controller
|
6
6
|
get "/", as: :upmin_dashboard, controller: :models, action: :dashboard
|
7
7
|
|
8
|
-
scope
|
8
|
+
scope "m" do
|
9
9
|
scope "/:klass" do
|
10
10
|
match "/", as: :upmin_search, controller: :models, action: :search, via: [:get, :post]
|
11
11
|
|
12
|
-
|
12
|
+
get "/new", as: :upmin_new_model, controller: :models, action: :new
|
13
|
+
post "/new", as: :upmin_create_model, controller: :models, action: :create
|
14
|
+
|
15
|
+
scope "/i/:id" do
|
13
16
|
get "/", as: :upmin_model, controller: :models, action: :show
|
14
17
|
put "/", controller: :models, action: :update
|
15
18
|
|
data/lib/upmin/admin.rb
CHANGED
data/lib/upmin/klass.rb
CHANGED
data/lib/upmin/model.rb
CHANGED
data/lib/upmin/paginator.rb
CHANGED
@@ -4,7 +4,7 @@ module Upmin
|
|
4
4
|
def Paginator.paginate(chain, page = 1, per_page = 30)
|
5
5
|
if defined?(WillPaginate)
|
6
6
|
# Ignore per page for now - just use the will_paginate default
|
7
|
-
return chain.
|
7
|
+
return chain.paginate(page: page.to_i, per_page: per_page)
|
8
8
|
else # Use Kaminari
|
9
9
|
return chain.page(page).per(per_page)
|
10
10
|
end
|
@@ -12,11 +12,9 @@ module Upmin::Railties
|
|
12
12
|
# Add a single attribute to upmin attributes. If this is called
|
13
13
|
# before upmin_attributes the attributes will not include any defaults
|
14
14
|
# attributes.
|
15
|
-
def upmin_attribute(attribute)
|
16
|
-
|
17
|
-
|
18
|
-
attribute = attribute.to_sym
|
19
|
-
@upmin_attributes << attribute unless @upmin_attributes.include?(attribute)
|
15
|
+
def upmin_attribute(attribute = nil)
|
16
|
+
@upmin_extra_attrs = [] unless defined?(@upmin_extra_attrs)
|
17
|
+
@upmin_extra_attrs << attribute.to_sym if attribute
|
20
18
|
end
|
21
19
|
|
22
20
|
# Sets the upmin_attributes to the provided attributes if any are
|
@@ -25,11 +23,14 @@ module Upmin::Railties
|
|
25
23
|
# then the upmin_attributes are set to the default attributes.
|
26
24
|
# Returns the upmin_attributes
|
27
25
|
def upmin_attributes(*attributes)
|
26
|
+
@upmin_extra_attrs = [] unless defined?(@upmin_extra_attrs)
|
27
|
+
|
28
28
|
if attributes.any?
|
29
29
|
@upmin_attributes = attributes.map{|a| a.to_sym}
|
30
30
|
end
|
31
|
+
|
31
32
|
@upmin_attributes ||= attribute_names.map{|a| a.to_sym}
|
32
|
-
return @upmin_attributes
|
33
|
+
return (@upmin_attributes + @upmin_extra_attrs).uniq
|
33
34
|
end
|
34
35
|
|
35
36
|
|
@@ -40,7 +41,7 @@ module Upmin::Railties
|
|
40
41
|
@upmin_actions ||= []
|
41
42
|
|
42
43
|
action = action.to_sym
|
43
|
-
@upmin_actions << action unless @upmin_actions.include?(
|
44
|
+
@upmin_actions << action unless @upmin_actions.include?(action)
|
44
45
|
end
|
45
46
|
|
46
47
|
# Sets the upmin_actions to the provided actions if any are
|
@@ -4,13 +4,15 @@ module Upmin::Railties
|
|
4
4
|
|
5
5
|
def RenderHelpers.model_partials(upmin_model, options)
|
6
6
|
partials = []
|
7
|
+
# Add "new_" in front of any partial for the partial for new view.
|
7
8
|
# <options[:as]>
|
8
9
|
# <model_name>
|
9
10
|
# model
|
11
|
+
prefix = upmin_model.new_record? ? "new_" : ""
|
10
12
|
|
11
13
|
partials << build_model_path(options[:as]) if options[:as]
|
12
|
-
partials << build_model_path(upmin_model.klass.name.underscore)
|
13
|
-
partials << build_model_path(:model)
|
14
|
+
partials << build_model_path(upmin_model.klass.name.underscore, prefix)
|
15
|
+
partials << build_model_path(:model, prefix)
|
14
16
|
return partials
|
15
17
|
end
|
16
18
|
|
@@ -111,8 +113,8 @@ module Upmin::Railties
|
|
111
113
|
end
|
112
114
|
|
113
115
|
|
114
|
-
def RenderHelpers.build_model_path(partial_name)
|
115
|
-
return "#{root_path}/models/#{partial_name}"
|
116
|
+
def RenderHelpers.build_model_path(partial_name, prefix = "")
|
117
|
+
return "#{root_path}/models/#{prefix}#{partial_name}"
|
116
118
|
end
|
117
119
|
|
118
120
|
def RenderHelpers.build_attribute_path(partial_name)
|
data/lib/upmin/version.rb
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
|
2
|
+
FactoryGirl.define do
|
3
|
+
factory(:user) do
|
4
|
+
name "Jon Calhoun"
|
5
|
+
email "joncalhoun@gmail.com"
|
6
|
+
stripe_card_id "sc_123ab1123"
|
7
|
+
end
|
8
|
+
|
9
|
+
factory(:product) do
|
10
|
+
name "Office Home & Student 2013 - Windows"
|
11
|
+
short_desc "Create, communicate and learn using streamlined touch, pen or keyboard commands"
|
12
|
+
price "139.99"
|
13
|
+
manufacturer "Microsoft"
|
14
|
+
free_shipping true
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
require "spec_helper"
|
3
|
+
|
4
|
+
feature("Performing an action") do
|
5
|
+
background do
|
6
|
+
# Setup BG Stuff
|
7
|
+
end
|
8
|
+
|
9
|
+
scenario("with a valid user") do
|
10
|
+
visit("/upmin/m/User/new")
|
11
|
+
|
12
|
+
expected_user = build(:user)
|
13
|
+
|
14
|
+
fill_in("user_name", with: expected_user.name)
|
15
|
+
fill_in("user_email", with: expected_user.email)
|
16
|
+
fill_in("user_stripe_card_id", with: expected_user.stripe_card_id)
|
17
|
+
|
18
|
+
expect { click_button("Create") }.to(change(User, :count).by(1))
|
19
|
+
|
20
|
+
expect(page).to(have_selector("input#user_name[value='#{expected_user.name}']"))
|
21
|
+
expect(page).to(have_selector("input#user_email[value='#{expected_user.email}']"))
|
22
|
+
expect(page).to(have_selector("input#user_stripe_card_id[value='#{expected_user.stripe_card_id}']"))
|
23
|
+
end
|
24
|
+
|
25
|
+
scenario("with an invalid user") do
|
26
|
+
visit("/upmin/m/User/new")
|
27
|
+
|
28
|
+
invalid_user = build(:user, email: "invalid")
|
29
|
+
|
30
|
+
fill_in("user_name", with: invalid_user.name)
|
31
|
+
fill_in("user_email", with: invalid_user.email)
|
32
|
+
fill_in("user_stripe_card_id", with: invalid_user.stripe_card_id)
|
33
|
+
|
34
|
+
expect { click_button("Create") }.not_to(change(User, :count))
|
35
|
+
|
36
|
+
within(".alert.alert-danger") do
|
37
|
+
expect(page).to(have_content("User was NOT created."))
|
38
|
+
end
|
39
|
+
|
40
|
+
within(".field_with_errors") do
|
41
|
+
expect(page).to(have_selector("input#user_email"))
|
42
|
+
end
|
43
|
+
|
44
|
+
# Make sure the inputs have the values typed in.
|
45
|
+
expect(page).to(have_selector("input#user_name[value='#{invalid_user.name}']"))
|
46
|
+
expect(page).to(have_selector("input#user_email[value='#{invalid_user.email}']"))
|
47
|
+
expect(page).to(have_selector("input#user_stripe_card_id[value='#{invalid_user.stripe_card_id}']"))
|
48
|
+
end
|
49
|
+
|
50
|
+
scenario("with a nil attribute") do
|
51
|
+
product = build(:product)
|
52
|
+
visit("/upmin/m/Product/new")
|
53
|
+
|
54
|
+
check("product_name_is_nil")
|
55
|
+
fill_in("product_short_desc", with: product.short_desc)
|
56
|
+
fill_in("product_manufacturer", with: product.manufacturer)
|
57
|
+
|
58
|
+
expect { click_button("Create") }.to(change(Product, :count).by(1))
|
59
|
+
|
60
|
+
box = find("#product_name_is_nil")
|
61
|
+
expect(box).to(be_checked)
|
62
|
+
|
63
|
+
created = Product.last
|
64
|
+
expect(created.name).to(be_nil)
|
65
|
+
expect(created.short_desc).to(eq(product.short_desc))
|
66
|
+
expect(created.manufacturer).to(eq(product.manufacturer))
|
67
|
+
end
|
68
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
require "spec_helper"
|
3
|
+
|
4
|
+
feature("Update an existing model") do
|
5
|
+
background do
|
6
|
+
# Setup BG Stuff
|
7
|
+
end
|
8
|
+
|
9
|
+
scenario("with valid order info") do
|
10
|
+
user = User.first
|
11
|
+
updated_user = build(:user)
|
12
|
+
|
13
|
+
visit("/upmin/m/User/i/#{user.id}")
|
14
|
+
|
15
|
+
fill_in("user_name", with: updated_user.name)
|
16
|
+
fill_in("user_email", with: updated_user.email)
|
17
|
+
fill_in("user_stripe_card_id", with: updated_user.stripe_card_id)
|
18
|
+
|
19
|
+
click_button("Save")
|
20
|
+
|
21
|
+
expect(page).to(have_selector("input#user_name[value='#{updated_user.name}']"))
|
22
|
+
expect(page).to(have_selector("input#user_email[value='#{updated_user.email}']"))
|
23
|
+
expect(page).to(have_selector("input#user_stripe_card_id[value='#{updated_user.stripe_card_id}']"))
|
24
|
+
|
25
|
+
user.reload
|
26
|
+
expect(user.name).to(eq(updated_user.name))
|
27
|
+
expect(user.email).to(eq(updated_user.email))
|
28
|
+
expect(user.stripe_card_id).to(eq(updated_user.stripe_card_id))
|
29
|
+
end
|
30
|
+
|
31
|
+
scenario("with invalid order info") do
|
32
|
+
user = User.first
|
33
|
+
invalid_user = build(:user, email: "invalid")
|
34
|
+
|
35
|
+
visit("/upmin/m/User/i/#{user.id}")
|
36
|
+
|
37
|
+
fill_in("user_name", with: invalid_user.name)
|
38
|
+
fill_in("user_email", with: invalid_user.email)
|
39
|
+
fill_in("user_stripe_card_id", with: invalid_user.stripe_card_id)
|
40
|
+
|
41
|
+
click_button("Save")
|
42
|
+
|
43
|
+
within(".alert.alert-danger") do
|
44
|
+
expect(page).to(have_content("User was NOT updated."))
|
45
|
+
end
|
46
|
+
|
47
|
+
within(".field_with_errors") do
|
48
|
+
expect(page).to(have_selector("input#user_email"))
|
49
|
+
end
|
50
|
+
|
51
|
+
expect(page).to(have_selector("input#user_name[value='#{invalid_user.name}']"))
|
52
|
+
expect(page).to(have_selector("input#user_email[value='#{invalid_user.email}']"))
|
53
|
+
expect(page).to(have_selector("input#user_stripe_card_id[value='#{invalid_user.stripe_card_id}']"))
|
54
|
+
|
55
|
+
user.reload
|
56
|
+
expect(user.name).not_to(eq(invalid_user.name))
|
57
|
+
expect(user.email).not_to(eq(invalid_user.email))
|
58
|
+
expect(user.stripe_card_id).not_to(eq(invalid_user.stripe_card_id))
|
59
|
+
end
|
60
|
+
|
61
|
+
scenario("with a nil attribute") do
|
62
|
+
product = Product.first
|
63
|
+
visit("/upmin/m/Product/i/#{product.id}")
|
64
|
+
|
65
|
+
check("product_name_is_nil")
|
66
|
+
click_button("Save")
|
67
|
+
|
68
|
+
box = find("#product_name_is_nil")
|
69
|
+
expect(box).to(be_checked)
|
70
|
+
|
71
|
+
product.reload
|
72
|
+
expect(product.name).to(be_nil)
|
73
|
+
end
|
74
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
require "spec_helper"
|
3
|
+
|
4
|
+
feature("Create a new model") do
|
5
|
+
background do
|
6
|
+
# Setup BG Stuff
|
7
|
+
end
|
8
|
+
|
9
|
+
scenario("with a valid user") do
|
10
|
+
visit("/upmin/m/User/new")
|
11
|
+
|
12
|
+
expected_user = build(:user)
|
13
|
+
|
14
|
+
fill_in("user_name", with: expected_user.name)
|
15
|
+
fill_in("user_email", with: expected_user.email)
|
16
|
+
fill_in("user_stripe_card_id", with: expected_user.stripe_card_id)
|
17
|
+
|
18
|
+
expect { click_button("Create") }.to(change(User, :count).by(1))
|
19
|
+
|
20
|
+
expect(page).to(have_selector("input#user_name[value='#{expected_user.name}']"))
|
21
|
+
expect(page).to(have_selector("input#user_email[value='#{expected_user.email}']"))
|
22
|
+
expect(page).to(have_selector("input#user_stripe_card_id[value='#{expected_user.stripe_card_id}']"))
|
23
|
+
end
|
24
|
+
|
25
|
+
scenario("with an invalid user") do
|
26
|
+
visit("/upmin/m/User/new")
|
27
|
+
|
28
|
+
invalid_user = build(:user, email: "invalid")
|
29
|
+
|
30
|
+
fill_in("user_name", with: invalid_user.name)
|
31
|
+
fill_in("user_email", with: invalid_user.email)
|
32
|
+
fill_in("user_stripe_card_id", with: invalid_user.stripe_card_id)
|
33
|
+
|
34
|
+
expect { click_button("Create") }.not_to(change(User, :count))
|
35
|
+
|
36
|
+
within(".alert.alert-danger") do
|
37
|
+
expect(page).to(have_content("User was NOT created."))
|
38
|
+
end
|
39
|
+
|
40
|
+
within(".field_with_errors") do
|
41
|
+
expect(page).to(have_selector("input#user_email"))
|
42
|
+
end
|
43
|
+
|
44
|
+
# Make sure the inputs have the values typed in.
|
45
|
+
expect(page).to(have_selector("input#user_name[value='#{invalid_user.name}']"))
|
46
|
+
expect(page).to(have_selector("input#user_email[value='#{invalid_user.email}']"))
|
47
|
+
expect(page).to(have_selector("input#user_stripe_card_id[value='#{invalid_user.stripe_card_id}']"))
|
48
|
+
end
|
49
|
+
|
50
|
+
scenario("with a nil attribute") do
|
51
|
+
product = build(:product)
|
52
|
+
visit("/upmin/m/Product/new")
|
53
|
+
|
54
|
+
check("product_name_is_nil")
|
55
|
+
fill_in("product_short_desc", with: product.short_desc)
|
56
|
+
fill_in("product_manufacturer", with: product.manufacturer)
|
57
|
+
|
58
|
+
expect { click_button("Create") }.to(change(Product, :count).by(1))
|
59
|
+
|
60
|
+
box = find("#product_name_is_nil")
|
61
|
+
expect(box).to(be_checked)
|
62
|
+
|
63
|
+
created = Product.last
|
64
|
+
expect(created.name).to(be_nil)
|
65
|
+
expect(created.short_desc).to(eq(product.short_desc))
|
66
|
+
expect(created.manufacturer).to(eq(product.manufacturer))
|
67
|
+
end
|
68
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
require "spec_helper"
|
3
|
+
|
4
|
+
feature("Search Views") do
|
5
|
+
background do
|
6
|
+
# Setup BG Stuff
|
7
|
+
end
|
8
|
+
|
9
|
+
scenario("Pagination") do
|
10
|
+
visit("/upmin/m/User")
|
11
|
+
|
12
|
+
# Make sure some basic pagination exits
|
13
|
+
within(".pagination") do
|
14
|
+
within(".current") do
|
15
|
+
expect(page).to(have_content("1"))
|
16
|
+
end
|
17
|
+
|
18
|
+
expect(page).to(have_content("Next"))
|
19
|
+
click_link("Next")
|
20
|
+
end
|
21
|
+
|
22
|
+
within(".pagination") do
|
23
|
+
within(".current") do
|
24
|
+
expect(page).to(have_content("2"))
|
25
|
+
end
|
26
|
+
|
27
|
+
expect(page).to(have_content("Next"))
|
28
|
+
expect(page).to(have_content("Prev"))
|
29
|
+
|
30
|
+
click_link("3")
|
31
|
+
end
|
32
|
+
|
33
|
+
within(".pagination") do
|
34
|
+
within(".current") do
|
35
|
+
expect(page).to(have_content("3"))
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
scenario("Search via integer") do
|
41
|
+
visit("/upmin/m/Order")
|
42
|
+
|
43
|
+
expect(page).to(have_selector("a.search-result-link", count: 30))
|
44
|
+
|
45
|
+
fill_in("q_id_gteq", with: 1)
|
46
|
+
fill_in("q_id_lteq", with: 5)
|
47
|
+
click_button("Search")
|
48
|
+
|
49
|
+
expect(page).to(have_selector("a.search-result-link", count: 5))
|
50
|
+
end
|
51
|
+
|
52
|
+
scenario("Search via string") do
|
53
|
+
expected_user = User.first
|
54
|
+
|
55
|
+
visit("/upmin/m/User")
|
56
|
+
|
57
|
+
fill_in("q_name_cont", with: expected_user.name)
|
58
|
+
click_button("Search")
|
59
|
+
|
60
|
+
expect(page).to(have_selector("a.search-result-link", minimum: 1))
|
61
|
+
expect(page).to(have_content(expected_user.name))
|
62
|
+
end
|
63
|
+
|
64
|
+
scenario("Search via string") do
|
65
|
+
expected_user = User.first
|
66
|
+
|
67
|
+
visit("/upmin/m/User")
|
68
|
+
|
69
|
+
fill_in("q_name_cont", with: expected_user.name)
|
70
|
+
click_button("Search")
|
71
|
+
|
72
|
+
expect(page).to(have_selector("a.search-result-link", minimum: 1))
|
73
|
+
expect(page).to(have_content(expected_user.name))
|
74
|
+
end
|
75
|
+
|
76
|
+
|
77
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
ENV["RAILS_ENV"] ||= 'test'
|
2
|
+
require 'spec_helper'
|
3
|
+
require File.expand_path("../../config/environment", __FILE__)
|
4
|
+
require 'rspec/rails'
|
5
|
+
require 'capybara/rspec'
|
6
|
+
require 'capybara/rails'
|
7
|
+
require 'database_cleaner'
|
8
|
+
require 'factory_girl_rails'
|
9
|
+
|
10
|
+
|
11
|
+
if defined?(ActiveRecord)
|
12
|
+
require File.expand_path('../../../../seed/seeder', __FILE__)
|
13
|
+
end
|
14
|
+
|
15
|
+
|
16
|
+
RSpec.configure do |config|
|
17
|
+
config.fixture_path = "#{::Rails.root}/spec/fixtures"
|
18
|
+
config.use_transactional_fixtures = true
|
19
|
+
config.infer_spec_type_from_file_location!
|
20
|
+
config.order = "random"
|
21
|
+
|
22
|
+
config.expect_with(:rspec) do |expectations|
|
23
|
+
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
24
|
+
end
|
25
|
+
|
26
|
+
config.mock_with(:rspec) do |mocks|
|
27
|
+
mocks.verify_partial_doubles = true
|
28
|
+
end
|
29
|
+
|
30
|
+
config.before(:suite) do
|
31
|
+
Seeder.seed
|
32
|
+
end
|
33
|
+
|
34
|
+
config.after(:suite) do
|
35
|
+
end
|
36
|
+
|
37
|
+
config.before(:each) do
|
38
|
+
end
|
39
|
+
|
40
|
+
config.after(:each) do
|
41
|
+
end
|
42
|
+
|
43
|
+
# Uncomment this if you want to the page to be saved and opened after any test failure.
|
44
|
+
# config.after do |example|
|
45
|
+
# if example.metadata[:type] == :feature && example.exception.present?
|
46
|
+
# save_and_open_page
|
47
|
+
# end
|
48
|
+
# end
|
49
|
+
|
50
|
+
config.include(FactoryGirl::Syntax::Methods)
|
51
|
+
end
|