solidus_multi_domain 1.2.0 → 1.3.0
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/.gitignore +1 -0
- data/.travis.yml +2 -0
- data/README.md +7 -1
- data/lib/spree_multi_domain/engine.rb +1 -1
- data/{spec/support → lib/spree_multi_domain/testing_support}/factory_overrides.rb +2 -2
- data/solidus_multi_domain.gemspec +1 -1
- data/spec/lib/spree_multi_domain/testing_support/factory_overrides_spec.rb +23 -0
- data/spec/requests/template_renderer_spec.rb +26 -0
- data/spec/spec_helper.rb +1 -0
- data/spec/support/.gitkeep +0 -0
- metadata +7 -4
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: bb3f5dcfd0e9f2e1cd6eb1b6fc001442e04f37d7
         | 
| 4 | 
            +
              data.tar.gz: ccbe9774d8f526ebbeed4b18ee170a3fc6ad9e4a
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: ff5e70b3ae70fa83bdefc3eff867582ec51bfe15ad61509e9340122c0ab965f11288c01f8dca01f07be317c482b0ac593f4470062951b8f4f6158de1d91a9371
         | 
| 7 | 
            +
              data.tar.gz: 4f86e155a58580fd34b66e65e65a27a8715c7fc06c89ebec5e6c414d476c513b524f767c49e92c49d6c7beb02afe0f79595dc39b2465dfbaa51c7ce6b894d6d5
         | 
    
        data/.gitignore
    CHANGED
    
    
    
        data/.travis.yml
    CHANGED
    
    | @@ -6,7 +6,9 @@ env: | |
| 6 6 | 
             
              matrix:
         | 
| 7 7 | 
             
                - SOLIDUS_BRANCH=v1.1 DB=postgres
         | 
| 8 8 | 
             
                - SOLIDUS_BRANCH=v1.2 DB=postgres
         | 
| 9 | 
            +
                - SOLIDUS_BRANCH=v1.3 DB=postgres
         | 
| 9 10 | 
             
                - SOLIDUS_BRANCH=master DB=postgres
         | 
| 10 11 | 
             
                - SOLIDUS_BRANCH=v1.1 DB=mysql
         | 
| 11 12 | 
             
                - SOLIDUS_BRANCH=v1.2 DB=mysql
         | 
| 13 | 
            +
                - SOLIDUS_BRANCH=v1.3 DB=mysql
         | 
| 12 14 | 
             
                - SOLIDUS_BRANCH=master DB=mysql
         | 
    
        data/README.md
    CHANGED
    
    | @@ -61,12 +61,18 @@ You should see 'Stores & Domains' in Configuration tab of Spree Admin. | |
| 61 61 | 
             
            Development
         | 
| 62 62 | 
             
            -------
         | 
| 63 63 |  | 
| 64 | 
            -
            To see if your stores indeed do point to the correct and unique domains, start your server with | 
| 64 | 
            +
            To see if your stores indeed do point to the correct and unique domains, start your server with
         | 
| 65 65 | 
             
            ```shell
         | 
| 66 66 | 
             
            rails s -p 3000 -b lvh.me
         | 
| 67 67 | 
             
            ```
         | 
| 68 68 | 
             
            and give a store a domain like http://store1.lvh.me:3000/.
         | 
| 69 69 |  | 
| 70 | 
            +
            If you'd like access to Solidus factories for your own tests that work well
         | 
| 71 | 
            +
            with this extension, add the following to your `spec_helper`:
         | 
| 72 | 
            +
            ```ruby
         | 
| 73 | 
            +
            require "spree_multi_domain/testing_support/factory_overrides"
         | 
| 74 | 
            +
            ```
         | 
| 75 | 
            +
             | 
| 70 76 | 
             
            Authorization
         | 
| 71 77 | 
             
            -------------
         | 
| 72 78 |  | 
| @@ -20,7 +20,7 @@ module SpreeMultiDomain | |
| 20 20 | 
             
                initializer "templates with dynamic layouts" do |app|
         | 
| 21 21 | 
             
                  ActionView::TemplateRenderer.class_eval do
         | 
| 22 22 | 
             
                    def find_layout_with_multi_store(layout, locals)
         | 
| 23 | 
            -
                      if @view.respond_to?(:current_store) && @view.current_store && !@view.controller.is_a?(Spree::Admin::BaseController) | 
| 23 | 
            +
                      if @view.respond_to?(:current_store) && @view.current_store && !@view.controller.is_a?(Spree::Admin::BaseController)
         | 
| 24 24 | 
             
                        store_layout = if layout.is_a?(String)
         | 
| 25 25 | 
             
                                         layout.gsub("layouts/", "layouts/#{@view.current_store.code}/")
         | 
| 26 26 | 
             
                                       else
         | 
| @@ -1,8 +1,8 @@ | |
| 1 1 | 
             
            FactoryGirl.modify do
         | 
| 2 2 | 
             
              # Products need to belong to the same store as the order.
         | 
| 3 3 | 
             
              factory :line_item do
         | 
| 4 | 
            -
                 | 
| 5 | 
            -
                  if line_item.order.store
         | 
| 4 | 
            +
                after(:build) do |line_item, evaluator|
         | 
| 5 | 
            +
                  if line_item.order.store && line_item.product.stores.empty?
         | 
| 6 6 | 
             
                    line_item.product.stores << line_item.order.store
         | 
| 7 7 | 
             
                  end
         | 
| 8 8 | 
             
                end
         | 
| @@ -3,7 +3,7 @@ | |
| 3 3 | 
             
            Gem::Specification.new do |s|
         | 
| 4 4 | 
             
              s.platform    = Gem::Platform::RUBY
         | 
| 5 5 | 
             
              s.name        = "solidus_multi_domain"
         | 
| 6 | 
            -
              s.version     = "1. | 
| 6 | 
            +
              s.version     = "1.3.0"
         | 
| 7 7 | 
             
              s.summary     = "Adds multiple site support to Solidus"
         | 
| 8 8 | 
             
              s.description = "Multiple Solidus stores on different domains - single unified backed for processing orders."
         | 
| 9 9 | 
             
              s.required_ruby_version = ">= 2.1"
         | 
| @@ -0,0 +1,23 @@ | |
| 1 | 
            +
            require 'spec_helper'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            describe "spree core factories should not raise ProductDoesNotBelongToStoreError" do
         | 
| 4 | 
            +
              it "should be able to build a line_item" do
         | 
| 5 | 
            +
                expect { build(:line_item) }.not_to raise_error
         | 
| 6 | 
            +
              end
         | 
| 7 | 
            +
             | 
| 8 | 
            +
              it "should be able to create a line_item" do
         | 
| 9 | 
            +
                expect { create(:line_item) }.not_to raise_error
         | 
| 10 | 
            +
              end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
              it "should be able to create a line_item with a specified variant" do
         | 
| 13 | 
            +
                expect { create(:line_item, variant: create(:variant, price: 100.00)) }.not_to raise_error
         | 
| 14 | 
            +
              end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
              it "should be able to build an inventory_unit" do
         | 
| 17 | 
            +
                expect { build(:inventory_unit) }.not_to raise_error
         | 
| 18 | 
            +
              end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
              it "should be able to create an inventory_unit" do
         | 
| 21 | 
            +
                expect { create(:inventory_unit) }.not_to raise_error
         | 
| 22 | 
            +
              end
         | 
| 23 | 
            +
            end
         | 
| @@ -41,4 +41,30 @@ describe "Template renderer with dynamic layouts" do | |
| 41 41 | 
             
                  expect(response.body).to eq("Store layout just normal")
         | 
| 42 42 | 
             
                end
         | 
| 43 43 | 
             
              end
         | 
| 44 | 
            +
             | 
| 45 | 
            +
              context "with an explicit `layout` passed to render" do
         | 
| 46 | 
            +
                ExplicitLayoutController = Class.new(ApplicationController) do
         | 
| 47 | 
            +
                  def index
         | 
| 48 | 
            +
                    render :index, layout: 'fancy'
         | 
| 49 | 
            +
                  end
         | 
| 50 | 
            +
                end
         | 
| 51 | 
            +
             | 
| 52 | 
            +
                before do
         | 
| 53 | 
            +
                  ApplicationController.view_paths += [ActionView::FixtureResolver.new(
         | 
| 54 | 
            +
                      "layouts/fancy.html.erb"         => "Fancy <%= yield %>",
         | 
| 55 | 
            +
                      "explicit_layout/index.html.erb" => "explicit layout index"
         | 
| 56 | 
            +
                    )]
         | 
| 57 | 
            +
                  Rails.application.routes.draw do
         | 
| 58 | 
            +
                    get 'explicit_layout', to: 'explicit_layout#index'
         | 
| 59 | 
            +
                  end
         | 
| 60 | 
            +
                end
         | 
| 61 | 
            +
                it "should use explicit layout for unmatched store" do
         | 
| 62 | 
            +
                  get "http://www.example.com/explicit_layout"
         | 
| 63 | 
            +
                  expect(response.body).to eq("Fancy explicit layout index")
         | 
| 64 | 
            +
                end
         | 
| 65 | 
            +
                it "should use explicit layout for the current store" do
         | 
| 66 | 
            +
                  get "http://#{store.url}/explicit_layout"
         | 
| 67 | 
            +
                  expect(response.body).to eq("Fancy explicit layout index")
         | 
| 68 | 
            +
                end
         | 
| 69 | 
            +
              end
         | 
| 44 70 | 
             
            end
         | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    | @@ -10,6 +10,7 @@ require 'ffaker' | |
| 10 10 |  | 
| 11 11 | 
             
            # Requires factories defined in spree_core
         | 
| 12 12 | 
             
            require 'spree/testing_support/factories'
         | 
| 13 | 
            +
            require 'spree_multi_domain/testing_support/factory_overrides'
         | 
| 13 14 | 
             
            require 'spree/testing_support/controller_requests'
         | 
| 14 15 | 
             
            require 'spree/testing_support/authorization_helpers'
         | 
| 15 16 | 
             
            require 'spree/testing_support/preferences'
         | 
| 
            File without changes
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: solidus_multi_domain
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1. | 
| 4 | 
            +
              version: 1.3.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Solidus Team
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2016- | 
| 11 | 
            +
            date: 2016-05-26 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: solidus
         | 
| @@ -221,6 +221,7 @@ files: | |
| 221 221 | 
             
            - lib/spree/search/multi_domain.rb
         | 
| 222 222 | 
             
            - lib/spree_multi_domain/engine.rb
         | 
| 223 223 | 
             
            - lib/spree_multi_domain/multi_domain_helpers.rb
         | 
| 224 | 
            +
            - lib/spree_multi_domain/testing_support/factory_overrides.rb
         | 
| 224 225 | 
             
            - solidus_multi_domain.gemspec
         | 
| 225 226 | 
             
            - spec/controllers/spree/admin/products_controller_spec.rb
         | 
| 226 227 | 
             
            - spec/controllers/spree/admin/stores_controller_spec.rb
         | 
| @@ -229,6 +230,7 @@ files: | |
| 229 230 | 
             
            - spec/controllers/spree/api/shipments_controller_spec.rb
         | 
| 230 231 | 
             
            - spec/controllers/spree/products_controller_spec.rb
         | 
| 231 232 | 
             
            - spec/helpers/products_helper_decorator_spec.rb
         | 
| 233 | 
            +
            - spec/lib/spree_multi_domain/testing_support/factory_overrides_spec.rb
         | 
| 232 234 | 
             
            - spec/models/spree/line_item_spec.rb
         | 
| 233 235 | 
             
            - spec/models/spree/order_spec.rb
         | 
| 234 236 | 
             
            - spec/models/spree/permission_sets/store_display_spec.rb
         | 
| @@ -241,7 +243,7 @@ files: | |
| 241 243 | 
             
            - spec/requests/global_controller_helpers_spec.rb
         | 
| 242 244 | 
             
            - spec/requests/template_renderer_spec.rb
         | 
| 243 245 | 
             
            - spec/spec_helper.rb
         | 
| 244 | 
            -
            - spec/support | 
| 246 | 
            +
            - spec/support/.gitkeep
         | 
| 245 247 | 
             
            homepage: https://solidus.io
         | 
| 246 248 | 
             
            licenses:
         | 
| 247 249 | 
             
            - BSD-3
         | 
| @@ -275,6 +277,7 @@ test_files: | |
| 275 277 | 
             
            - spec/controllers/spree/api/shipments_controller_spec.rb
         | 
| 276 278 | 
             
            - spec/controllers/spree/products_controller_spec.rb
         | 
| 277 279 | 
             
            - spec/helpers/products_helper_decorator_spec.rb
         | 
| 280 | 
            +
            - spec/lib/spree_multi_domain/testing_support/factory_overrides_spec.rb
         | 
| 278 281 | 
             
            - spec/models/spree/line_item_spec.rb
         | 
| 279 282 | 
             
            - spec/models/spree/order_spec.rb
         | 
| 280 283 | 
             
            - spec/models/spree/permission_sets/store_display_spec.rb
         | 
| @@ -287,4 +290,4 @@ test_files: | |
| 287 290 | 
             
            - spec/requests/global_controller_helpers_spec.rb
         | 
| 288 291 | 
             
            - spec/requests/template_renderer_spec.rb
         | 
| 289 292 | 
             
            - spec/spec_helper.rb
         | 
| 290 | 
            -
            - spec/support | 
| 293 | 
            +
            - spec/support/.gitkeep
         |