solidify 0.0.1.alpha

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.
Files changed (165) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +40 -0
  5. data/.travis.yml +10 -0
  6. data/CODE_OF_CONDUCT.md +74 -0
  7. data/Gemfile +3 -0
  8. data/Guardfile +51 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +75 -0
  11. data/Rakefile +42 -0
  12. data/app/controllers/concerns/solidify/liquid.rb +26 -0
  13. data/app/controllers/solidify/addresses_controller.rb +15 -0
  14. data/app/controllers/solidify/carts_controller.rb +15 -0
  15. data/app/controllers/solidify/collections_controller.rb +26 -0
  16. data/app/controllers/solidify/customers_controller.rb +16 -0
  17. data/app/controllers/solidify/home_controller.rb +15 -0
  18. data/app/controllers/solidify/liquid_controller.rb +25 -0
  19. data/app/controllers/solidify/orders_controller.rb +19 -0
  20. data/app/controllers/solidify/pages_controller.rb +22 -0
  21. data/app/controllers/solidify/products_controller.rb +34 -0
  22. data/app/controllers/solidify/registrations_controller.rb +25 -0
  23. data/app/controllers/solidify/responders/solidify/liquid_responder.rb +29 -0
  24. data/app/controllers/solidify/search_controller.rb +41 -0
  25. data/app/controllers/solidify/sessions_controller.rb +15 -0
  26. data/app/drops/rails_settings/scoped_settings_drop.rb +11 -0
  27. data/app/drops/solidify/errors_drop.rb +14 -0
  28. data/app/drops/solidify/link_drop.rb +15 -0
  29. data/app/drops/solidify/link_list_drop.rb +7 -0
  30. data/app/drops/solidify/nil_drop.rb +7 -0
  31. data/app/drops/solidify/page_drop.rb +7 -0
  32. data/app/drops/solidify/search_drop.rb +7 -0
  33. data/app/drops/spree/address_drop.rb +28 -0
  34. data/app/drops/spree/image_drop.rb +32 -0
  35. data/app/drops/spree/line_item_drop.rb +98 -0
  36. data/app/drops/spree/option_type_drop.rb +4 -0
  37. data/app/drops/spree/order_drop.rb +64 -0
  38. data/app/drops/spree/product_drop.rb +97 -0
  39. data/app/drops/spree/taxon_drop.rb +53 -0
  40. data/app/drops/spree/user_drop.rb +54 -0
  41. data/app/drops/spree/variant_drop.rb +111 -0
  42. data/app/fields/spree/address_fields.rb +18 -0
  43. data/app/fields/spree/image_fields.rb +12 -0
  44. data/app/fields/spree/line_item_fields.rb +21 -0
  45. data/app/fields/spree/order_fields.rb +22 -0
  46. data/app/fields/spree/product_fields.rb +22 -0
  47. data/app/fields/spree/taxon_fields.rb +18 -0
  48. data/app/fields/spree/user_fields.rb +14 -0
  49. data/app/fields/spree/variant_fields.rb +19 -0
  50. data/app/filters/solidify/additional_filters.rb +22 -0
  51. data/app/filters/solidify/html_filters.rb +16 -0
  52. data/app/filters/solidify/money_filters.rb +39 -0
  53. data/app/filters/solidify/string_filters.rb +47 -0
  54. data/app/filters/solidify/url_filters.rb +59 -0
  55. data/app/helpers/solidify/liquid_helper.rb +111 -0
  56. data/app/helpers/solidify/shop_helper.rb +7 -0
  57. data/app/models/concerns/solidify/address.rb +15 -0
  58. data/app/models/concerns/solidify/full_name.rb +11 -0
  59. data/app/models/concerns/solidify/handle.rb +25 -0
  60. data/app/models/concerns/solidify/inventory_policy.rb +7 -0
  61. data/app/models/concerns/solidify/validation_cancel.rb +33 -0
  62. data/app/models/concerns/spree/order_state.rb +19 -0
  63. data/app/models/solidify/asset.rb +12 -0
  64. data/app/models/solidify/link.rb +10 -0
  65. data/app/models/solidify/link_list.rb +7 -0
  66. data/app/models/solidify/page.rb +5 -0
  67. data/app/models/solidify/setting.rb +8 -0
  68. data/app/models/solidify/theme.rb +19 -0
  69. data/app/models/spree/address_decorator.rb +13 -0
  70. data/app/models/spree/image_decorator.rb +7 -0
  71. data/app/models/spree/line_item_decorator.rb +7 -0
  72. data/app/models/spree/order_decorator.rb +10 -0
  73. data/app/models/spree/product_decorator.rb +8 -0
  74. data/app/models/spree/taxon_decorator.rb +20 -0
  75. data/app/models/spree/user_decorator.rb +9 -0
  76. data/app/models/spree/variant_decorator.rb +11 -0
  77. data/app/poro/solidify/search.rb +14 -0
  78. data/app/services/solidify/app_specific_string_io.rb +15 -0
  79. data/app/services/solidify/asset_compiler.rb +11 -0
  80. data/app/services/solidify/asset_postprocessor.rb +53 -0
  81. data/app/services/solidify/collections_all_builder.rb +12 -0
  82. data/app/services/solidify/link_list_seeder.rb +26 -0
  83. data/app/services/solidify/liquid_asset_compiler.rb +19 -0
  84. data/app/services/solidify/scss_asset_compiler.rb +15 -0
  85. data/app/services/solidify/shop_settings_seeder.rb +26 -0
  86. data/app/services/solidify/theme_mechanic.rb +30 -0
  87. data/app/uploaders/solidify/asset_uploader.rb +10 -0
  88. data/app/views/solidify/global/content_for_header.html.erb +0 -0
  89. data/app/views/solidify/themes/skeleton-theme/README.md +54 -0
  90. data/app/views/solidify/themes/skeleton-theme/assets/arrow-down.svg.liquid +3 -0
  91. data/app/views/solidify/themes/skeleton-theme/assets/cart.svg.liquid +4 -0
  92. data/app/views/solidify/themes/skeleton-theme/assets/shop.js.liquid +75 -0
  93. data/app/views/solidify/themes/skeleton-theme/assets/shopify_common.js +14 -0
  94. data/app/views/solidify/themes/skeleton-theme/assets/style.scss.liquid +768 -0
  95. data/app/views/solidify/themes/skeleton-theme/config/settings.html +217 -0
  96. data/app/views/solidify/themes/skeleton-theme/config/settings_data.json +26 -0
  97. data/app/views/solidify/themes/skeleton-theme/layout/theme.liquid +181 -0
  98. data/app/views/solidify/themes/skeleton-theme/snippets/article-grid-item.liquid +73 -0
  99. data/app/views/solidify/themes/skeleton-theme/snippets/collection-grid-item.liquid +46 -0
  100. data/app/views/solidify/themes/skeleton-theme/snippets/collection-listing.liquid +46 -0
  101. data/app/views/solidify/themes/skeleton-theme/snippets/open-graph-tags.liquid +35 -0
  102. data/app/views/solidify/themes/skeleton-theme/snippets/product-grid-item.liquid +70 -0
  103. data/app/views/solidify/themes/skeleton-theme/snippets/site-nav.liquid +57 -0
  104. data/app/views/solidify/themes/skeleton-theme/snippets/social-links.liquid +42 -0
  105. data/app/views/solidify/themes/skeleton-theme/snippets/twitter-card.liquid +41 -0
  106. data/app/views/solidify/themes/skeleton-theme/templates/404.liquid +2 -0
  107. data/app/views/solidify/themes/skeleton-theme/templates/article.liquid +160 -0
  108. data/app/views/solidify/themes/skeleton-theme/templates/blog.grid.liquid +30 -0
  109. data/app/views/solidify/themes/skeleton-theme/templates/blog.liquid +92 -0
  110. data/app/views/solidify/themes/skeleton-theme/templates/cart.liquid +123 -0
  111. data/app/views/solidify/themes/skeleton-theme/templates/collection.liquid +102 -0
  112. data/app/views/solidify/themes/skeleton-theme/templates/customers/account.liquid +57 -0
  113. data/app/views/solidify/themes/skeleton-theme/templates/customers/activate_account.liquid +26 -0
  114. data/app/views/solidify/themes/skeleton-theme/templates/customers/addresses.liquid +173 -0
  115. data/app/views/solidify/themes/skeleton-theme/templates/customers/login.liquid +90 -0
  116. data/app/views/solidify/themes/skeleton-theme/templates/customers/order.liquid +103 -0
  117. data/app/views/solidify/themes/skeleton-theme/templates/customers/register.liquid +32 -0
  118. data/app/views/solidify/themes/skeleton-theme/templates/customers/reset_password.liquid +27 -0
  119. data/app/views/solidify/themes/skeleton-theme/templates/index.liquid +39 -0
  120. data/app/views/solidify/themes/skeleton-theme/templates/list-collections.liquid +19 -0
  121. data/app/views/solidify/themes/skeleton-theme/templates/page.liquid +16 -0
  122. data/app/views/solidify/themes/skeleton-theme/templates/product.liquid +202 -0
  123. data/app/views/solidify/themes/skeleton-theme/templates/search.liquid +72 -0
  124. data/bin/rails +12 -0
  125. data/config/app.yml +0 -0
  126. data/config/initializers/carrierwave.rb +25 -0
  127. data/config/initializers/devise.rb +286 -0
  128. data/config/initializers/form_tag.rb +43 -0
  129. data/config/initializers/liquid.rb +213 -0
  130. data/config/initializers/sass.rb +15 -0
  131. data/config/initializers/spree.rb +7 -0
  132. data/config/initializers/theme_settings.rb +29 -0
  133. data/config/routes.rb +52 -0
  134. data/config/spring.rb +2 -0
  135. data/db/migrate/20170223064316_create_solidify_assets.solidify.rb +14 -0
  136. data/db/migrate/20170223064317_create_solidify_themes.solidify.rb +10 -0
  137. data/db/migrate/20170223064318_create_solidify_link_lists.solidify.rb +12 -0
  138. data/db/migrate/20170223064319_create_solidify_links.solidify.rb +13 -0
  139. data/db/migrate/20170223064320_create_solidify_settings.solidify.rb +22 -0
  140. data/db/migrate/20170223064321_create_solidify_pages.solidify.rb +16 -0
  141. data/db/migrate/20170223064322_add_attributes_to_spree_users.solidify.rb +7 -0
  142. data/db/migrate/20170223064323_add_handle_to_spree_taxons.solidify.rb +7 -0
  143. data/db/migrate/20170228115149_add_state_and_country_fields_to_spree_addresses.solidify.rb +7 -0
  144. data/lib/generators/solidify/install/install_generator.rb +23 -0
  145. data/lib/solidify.rb +11 -0
  146. data/lib/solidify/configuration.rb +21 -0
  147. data/lib/solidify/engine.rb +24 -0
  148. data/lib/solidify/testing_support/factories.rb +5 -0
  149. data/lib/solidify/testing_support/factories/assets.rb +75 -0
  150. data/lib/solidify/testing_support/factories/solidify_pages.rb +10 -0
  151. data/lib/solidify/testing_support/factories/spree_addresses.rb +9 -0
  152. data/lib/solidify/testing_support/factories/spree_line_items.rb +10 -0
  153. data/lib/solidify/testing_support/factories/spree_orders.rb +9 -0
  154. data/lib/solidify/testing_support/factories/spree_products.rb +8 -0
  155. data/lib/solidify/testing_support/factories/spree_taxons.rb +7 -0
  156. data/lib/solidify/testing_support/factories/spree_variants.rb +7 -0
  157. data/lib/solidify/testing_support/factories/themes.rb +7 -0
  158. data/lib/solidify/version.rb +3 -0
  159. data/lib/tasks/download_theme.rake +18 -0
  160. data/lib/tasks/seed_default_theme.rake +8 -0
  161. data/lib/tasks/seed_everything.rake +12 -0
  162. data/lib/tasks/seed_link_list.rake +8 -0
  163. data/lib/tasks/seed_shop_settings.rake +8 -0
  164. data/solidify.gemspec +61 -0
  165. metadata +668 -0
@@ -0,0 +1,15 @@
1
+ # rubocop:disable all
2
+ module Sass
3
+ module Selector
4
+ class SimpleSequence < AbstractSequence
5
+ def check_directives_match!(extend, parent_directives)
6
+ dirs1 = extend.directives.map {|d| d.resolved_value}
7
+ dirs2 = parent_directives.map {|d| d.resolved_value}
8
+ return if Sass::Util.subsequence?(dirs1, dirs2)
9
+ line = extend.node.line
10
+ filename = extend.node.filename
11
+ end
12
+ end
13
+ end
14
+ end
15
+ # rubocop:enable all
@@ -0,0 +1,7 @@
1
+ # Configure Solidus Preferences
2
+ # See http://docs.solidus.io/Spree/AppConfiguration.html for details
3
+
4
+ Spree.config do |config|
5
+ config.address_requires_state = false
6
+ config.company = true
7
+ end
@@ -0,0 +1,29 @@
1
+ if Solidify::Theme.table_exists?
2
+ Solidify::Theme.all.each do |theme|
3
+ settings_file = Rails.root.join(
4
+ 'app', 'views', 'themes', theme.id.to_s, 'config', 'settings_data.json'
5
+ )
6
+ next unless settings_file.exist?
7
+ settings_data = JSON.parse(
8
+ File.read(settings_file)
9
+ )
10
+ settings = if settings_data['current'].is_a? String
11
+ settings_data['presets'][settings_data['current']].to_json
12
+ else
13
+ settings_data['current'].to_json
14
+ end
15
+ Redis.current.set("solidify_themes_#{theme.id}", settings)
16
+ end
17
+ end
18
+
19
+ settings_file = Solidify::Engine.root.join(
20
+ 'app', 'views', 'solidify', 'themes', 'skeleton-theme', 'config',
21
+ 'settings_data.json'
22
+ )
23
+ settings_data = JSON.parse(File.read(settings_file))
24
+ settings = if settings_data['current'].is_a? String
25
+ settings_data['presets'][settings_data['current']].to_json
26
+ else
27
+ settings_data['current'].to_json
28
+ end
29
+ Redis.current.set('solidify_themes_', settings)
data/config/routes.rb ADDED
@@ -0,0 +1,52 @@
1
+ # rubocop:disable Metrics/BlockLength
2
+ Solidify::Engine.routes.draw do
3
+ root to: 'home#index'
4
+ get 'pages/:id', to: 'pages#show', as: :page
5
+ get 'account/addresses', to: 'addresses#index', as: :customer_addresses
6
+ get 'account/orders/:id', to: 'orders#show', as: :customer_order
7
+
8
+ devise_for :customers,
9
+ path: 'account',
10
+ class_name: 'Spree::User',
11
+ # module: :devise,
12
+ path_names: {
13
+ registration: 'register',
14
+ sign_up: '',
15
+ sign_in: 'login',
16
+ sign_out: 'logout',
17
+ password: 'recover',
18
+ confirmation: 'verification',
19
+ edit: ''
20
+ },
21
+ controllers: {
22
+ registrations: 'solidify/registrations',
23
+ sessions: 'solidify/sessions'
24
+ }
25
+
26
+ devise_scope :customer do
27
+ get 'account/login', to: 'sessions#new'
28
+ post 'account/login', to: 'sessions#create'
29
+ get 'account/logout', to: 'sessions#destroy'
30
+ get 'account/signup', to: 'registrations#new'
31
+ post 'account/signup', to: 'registrations#create'
32
+ get 'account/password/recover', to: 'passwords#new'
33
+ post 'account/password/recover', to: 'passwords#create'
34
+ get 'account/password/change', to: 'passwords#edit'
35
+ put 'account/password/change', to: 'passwords#update'
36
+ get 'account/register', to: 'registrations#new'
37
+ post 'account/register', to: 'registrations#create'
38
+ end
39
+
40
+ get '/account', to: 'customers#show', as: :customer
41
+ get '/collections/:id', to: 'collections#show', as: :taxon
42
+ get '/search', to: 'search#index', as: :search
43
+
44
+ get '/collections/:collection_id/products/:id?variant=:variant_id',
45
+ to: 'products#show'
46
+ get '/collections/:collection_id/products/:id', to: 'products#show'
47
+ get '/products/:id?variant=:variant_id', to: 'products#show', as: :variant
48
+ get '/products/:id', to: 'products#show', as: :product
49
+
50
+ post '/cart/add', to: 'orders#populate'
51
+ get '/cart', to: 'carts#show', as: :cart
52
+ end
data/config/spring.rb ADDED
@@ -0,0 +1,2 @@
1
+ Spring.application_root = './spec/dummy'
2
+ Spring.watch 'lib/**/*'
@@ -0,0 +1,14 @@
1
+ # This migration comes from solidify (originally 20170130114732)
2
+ class CreateSolidifyAssets < ActiveRecord::Migration[5.0]
3
+ def change
4
+ create_table :solidify_assets do |t|
5
+ t.integer :theme_id
6
+ t.string :key
7
+ t.string :file
8
+
9
+ t.timestamps null: false
10
+ end
11
+ add_index :solidify_assets, :theme_id
12
+ add_index :solidify_assets, :key
13
+ end
14
+ end
@@ -0,0 +1,10 @@
1
+ # This migration comes from solidify (originally 20170130114818)
2
+ class CreateSolidifyThemes < ActiveRecord::Migration[5.0]
3
+ def change
4
+ create_table :solidify_themes do |t|
5
+ t.string :name
6
+
7
+ t.timestamps null: false
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,12 @@
1
+ # This migration comes from solidify (originally 20170206094936)
2
+ class CreateSolidifyLinkLists < ActiveRecord::Migration[5.0]
3
+ def change
4
+ create_table :solidify_link_lists do |t|
5
+ t.string :name
6
+ t.string :slug
7
+
8
+ t.timestamps
9
+ end
10
+ add_index :solidify_link_lists, :slug
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ # This migration comes from solidify (originally 20170206095308)
2
+ class CreateSolidifyLinks < ActiveRecord::Migration[5.0]
3
+ def change
4
+ create_table :solidify_links do |t|
5
+ t.string :name
6
+ t.string :url
7
+ t.integer :link_list_id
8
+
9
+ t.timestamps
10
+ end
11
+ add_index :solidify_links, :link_list_id
12
+ end
13
+ end
@@ -0,0 +1,22 @@
1
+ # This migration comes from solidify (originally 20170208021602)
2
+ class CreateSolidifySettings < ActiveRecord::Migration[5.0]
3
+ def self.up
4
+ # create_table :solidify_settings do |t|
5
+ create_table :settings do |t|
6
+ t.string :var, null: false
7
+ t.text :value, null: true
8
+ t.integer :thing_id, null: true
9
+ t.string :thing_type, null: true, limit: 30
10
+ t.timestamps
11
+ end
12
+
13
+ add_index :settings,
14
+ %i(thing_type thing_id var),
15
+ unique: true,
16
+ name: 'index_settings_on_thing_and_var'
17
+ end
18
+
19
+ def self.down
20
+ drop_table :settings
21
+ end
22
+ end
@@ -0,0 +1,16 @@
1
+ # This migration comes from solidify (originally 20170209055257)
2
+ class CreateSolidifyPages < ActiveRecord::Migration[5.0]
3
+ def change
4
+ create_table :solidify_pages do |t|
5
+ t.string :author
6
+ t.string :name
7
+ t.string :slug
8
+ t.text :body_html
9
+ t.datetime :published_at
10
+ t.string :template_suffix
11
+
12
+ t.timestamps
13
+ end
14
+ add_index :solidify_pages, :slug
15
+ end
16
+ end
@@ -0,0 +1,7 @@
1
+ # This migration comes from solidify (originally 20170209103022)
2
+ class AddAttributesToSpreeUsers < ActiveRecord::Migration[5.0]
3
+ def change
4
+ add_column :spree_users, :first_name, :string
5
+ add_column :spree_users, :last_name, :string
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ # This migration comes from solidify (originally 20170211111359)
2
+ class AddHandleToSpreeTaxons < ActiveRecord::Migration[5.0]
3
+ def change
4
+ add_column :spree_taxons, :slug, :string
5
+ add_index :spree_taxons, :slug
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ class AddStateAndCountryFieldsToSpreeAddresses < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :spree_addresses, :state_code, :string
4
+ add_column :spree_addresses, :country_name, :string
5
+ add_column :spree_addresses, :country_code, :string
6
+ end
7
+ end
@@ -0,0 +1,23 @@
1
+ module Solidify
2
+ module Generators
3
+ class InstallGenerator < ::Rails::Generators::Base
4
+ def add_migrations
5
+ run 'rails railties:install:migrations'
6
+ end
7
+
8
+ def run_migrations
9
+ run 'rails db:migrate'
10
+ end
11
+
12
+ def install_routes
13
+ insert_into_file(File.join('config', 'routes.rb'),
14
+ after: "Rails.application.routes.draw do\n") do
15
+ <<~ROUTES
16
+ # Setup Solidify's routes
17
+ mount Solidify::Engine, at: '/'
18
+ ROUTES
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
data/lib/solidify.rb ADDED
@@ -0,0 +1,11 @@
1
+ require 'solidus_core'
2
+ require 'solidus_auth_devise'
3
+ require 'solidify/configuration'
4
+ require 'solidify/version'
5
+ require 'carrierwave'
6
+ require 'devise'
7
+ require 'solidify/engine'
8
+ require 'liquid-rails'
9
+ require 'rails-settings-cached'
10
+ require 'redis'
11
+ require 'sass'
@@ -0,0 +1,21 @@
1
+ module Solidify
2
+ class Configuration
3
+ attr_accessor :cart_class
4
+
5
+ def initialize
6
+ @cart_class = ::Cart if defined? ::Cart
7
+ end
8
+ end
9
+
10
+ def self.configuration
11
+ @configuration ||= Configuration.new
12
+ end
13
+
14
+ def self.configuration=(config)
15
+ @configuration = config
16
+ end
17
+
18
+ def self.configure
19
+ yield configuration
20
+ end
21
+ end
@@ -0,0 +1,24 @@
1
+ require 'rails/engine'
2
+
3
+ module Solidify
4
+ class Engine < ::Rails::Engine
5
+ config.autoload_paths << Engine.root.join(
6
+ 'app', 'controllers', 'solidify', 'responders'
7
+ )
8
+ isolate_namespace Solidify
9
+ engine_name 'solidify'
10
+
11
+ config.generators do |g|
12
+ g.test_framework :rspec
13
+ g.fixture_replacement :factory_girl, dir: 'spec/factories'
14
+ end
15
+
16
+ def self.activate
17
+ Dir.glob(File.join(__dir__, '../../app/**/*_decorator*.rb')) do |c|
18
+ Rails.configuration.cache_classes ? require(c) : load(c)
19
+ end
20
+ end
21
+
22
+ config.to_prepare(&method(:activate).to_proc)
23
+ end
24
+ end
@@ -0,0 +1,5 @@
1
+ require 'factory_girl'
2
+
3
+ Dir["#{File.dirname(__FILE__)}/factories/**"].each do |f|
4
+ require File.expand_path(f)
5
+ end
@@ -0,0 +1,75 @@
1
+ module Solidify
2
+ # rubocop:disable Metrics/BlockLength
3
+ FactoryGirl.define do
4
+ factory :asset, class: Asset do
5
+ theme_id 1
6
+ key 'simple.liquid'
7
+ file do
8
+ Rack::Test::UploadedFile.new(
9
+ File.join(Solidify::Engine.root, 'spec', 'data',
10
+ 'simple.liquid')
11
+ )
12
+ end
13
+
14
+ trait :javascript do
15
+ key 'assets/shop.js.liquid'
16
+ file do
17
+ Rack::Test::UploadedFile.new(
18
+ File.join(Solidify::Engine.root, 'spec', 'data', 'assets',
19
+ 'shop.js.liquid')
20
+ )
21
+ end
22
+ end
23
+
24
+ trait :snippet do
25
+ key 'snippets/open-graph-tags.liquid'
26
+ file do
27
+ Rack::Test::UploadedFile.new(
28
+ File.join(Solidify::Engine.root, 'spec', 'data', 'snippets',
29
+ 'open-graph-tags.liquid')
30
+ )
31
+ end
32
+ end
33
+
34
+ trait :stylesheet_liquid do
35
+ key 'assets/style.scss.liquid'
36
+ file do
37
+ Rack::Test::UploadedFile.new(
38
+ File.join(Solidify::Engine.root, 'spec', 'data', 'assets',
39
+ 'style.scss.liquid')
40
+ )
41
+ end
42
+ end
43
+
44
+ trait :stylesheet_liquid_with_asset_url do
45
+ key 'assets/style_with_asset_url_filter.scss.liquid'
46
+ file do
47
+ Rack::Test::UploadedFile.new(
48
+ File.join(Solidify::Engine.root, 'spec', 'data', 'assets',
49
+ 'style_with_asset_url_filter.scss.liquid')
50
+ )
51
+ end
52
+ end
53
+
54
+ trait :stylesheet_scss do
55
+ key 'assets/style.scss'
56
+ file do
57
+ Rack::Test::UploadedFile.new(
58
+ File.join(Solidify::Engine.root, 'spec', 'data', 'assets',
59
+ 'style.scss')
60
+ )
61
+ end
62
+ end
63
+
64
+ trait :stylesheet_scss_css do
65
+ key 'assets/style.scss.css'
66
+ file do
67
+ Rack::Test::UploadedFile.new(
68
+ File.join(Solidify::Engine.root, 'spec', 'data', 'assets',
69
+ 'style.scss.css')
70
+ )
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,10 @@
1
+ FactoryGirl.define do
2
+ factory :solidify_page, class: 'Solidify::Page' do
3
+ author 'MyString'
4
+ title 'MyString'
5
+ handle 'MyString'
6
+ body_html 'MyText'
7
+ published_at '2017-02-09 12:52:57'
8
+ template_suffix 'MyString'
9
+ end
10
+ end
@@ -0,0 +1,9 @@
1
+ require 'spree/testing_support/factories/address_factory'
2
+
3
+ FactoryGirl.modify do
4
+ factory :address do
5
+ state nil
6
+ country nil
7
+ zipcode '10110'
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ require 'spree/testing_support/factories/line_item_factory'
2
+
3
+ FactoryGirl.modify do
4
+ factory :line_item do
5
+ price nil
6
+ after(:build) do |line_item, _evaluator|
7
+ line_item.valid?
8
+ end
9
+ end
10
+ end