Skip to content

Instantly share code, notes, and snippets.

View Lordnibbler's full-sized avatar

Ben Radler Lordnibbler

View GitHub Profile
Spree::HomeController.class_eval do
def index
# Spree::Taxonomy.all => []
@my_taxons = Spree::Taxonomy.where(name: "Collections").first.taxons.order(:position)
@searcher = Spree::Config.searcher_class.new(params)
@searcher.current_user = try_spree_current_user
@searcher.current_currency = current_currency
@products = @searcher.retrieve_products
<div class="container">
<div class="row">
<div class="span6">
<% if @sent %>
<h2 class="legend">Email Sent!</h2>
<p class='alert-success-more'>We reply within 2-5 business days via email. Please be patient, sometimes we have to sleep!</p>
<% else %>
<h2 class="legend">Email Us</h2>
<%#= simple_form_for @message, :validate => true, :html => { :class => "form-vertical" } do |f| %>
<%#= f.input :name %>
1) Spree::Product product instance #duplicate duplicates product
Spree::Product product instance #duplicate duplicates product
Failure/Error: clone = product.duplicate
NoMethodError:
undefined method `[]' for nil:NilClass
# ./spec/models/spree/product_spec.rb:22:in `block (4 levels) in <top (required)>'
/Users/meowingtons/.rvm/gems/ruby-1.9.3-p429/bundler/gems/rails-f42e0fd3f4d3/activesupport/lib/active_support/dependencies.rb:317:in `rescue in depend_on': Missing helper file helpe
rs/spree/analytics_helper.rb (LoadError)
from /Users/meowingtons/.rvm/gems/ruby-1.9.3-p429/bundler/gems/rails-f42e0fd3f4d3/activesupport/lib/active_support/dependencies.rb:312:in `depend_on'
from /Users/meowingtons/.rvm/gems/ruby-1.9.3-p429/bundler/gems/rails-f42e0fd3f4d3/activesupport/lib/active_support/dependencies.rb:225:in `require_dependency'
from /Users/meowingtons/.rvm/gems/ruby-1.9.3-p429/bundler/gems/rails-f42e0fd3f4d3/actionpack/lib/abstract_controller/helpers.rb:135:in `block in modules_for_helpers'
from /Users/meowingtons/.rvm/gems/ruby-1.9.3-p429/bundler/gems/rails-f42e0fd3f4d3/actionpack/lib/abstract_controller/helpers.rb:131:in `map!'
from /Users/meowingtons/.rvm/gems/ruby-1.9.3-p429/bundler/gems/rails-f42e0fd3f4d3/actionpack/lib/abstract_controller/helpers.rb:131:in `modules_
# Adds a new item to the order (creating a new order if none already exists)
def populate
ap "#populate"
ap request
# clear cart for buy now action if necessary
ap params
ap @current_order if @current_order
@current_order.line_items.destroy_all if @current_order && (params[:order] and params[:order][:buy_now])
# populate an order
def populate
# clear cart for buy now action if necessary
ap @current_order.line_items # comes out as nil
@current_order.line_items.destroy_all if @current_order && (params[:order] and params[:order][:buy_now])
# populate an order
populator = Spree::OrderPopulator.new(current_order(true), current_currency)
if populator.populate(params.slice(:products, :variants, :quantity))
fire_event('spree.cart.add')
fire_event('spree.order.contents_changed')
require 'spec_helper'
# require 'support/spree/shared_contexts/custom_products'
describe Spree::OrdersController do
let(:user) { create(:user) }
let(:order) { mock_model(Spree::Order, :number => "R123", :reload => nil, :save! => true, :coupon_code => nil, :user => user, :completed? => false, :currency => "USD", :token => 'a1b2c3d4')}
before do
# Don't care about IP address being set here
order.stub(:last_ip_address=)
Spree::Order.stub(:find).with(1).and_return(order)
/* create a deferred object */
var dfd = $.Deferred();
/* add handlers to be called when dfd is resolved */
dfd.done(mixpanel.alias(<?php echo $account_id; ?>), redir());
/* resolve the Deferred object when the button is clicked */
dfd.resolve();
function redir() {
require 'spec_helper'
require 'rspec/mocks'
require 'rspec/mocks/standalone'
require 'spree/testing_support/controller_requests'
describe Spree::HomeController do
it "should provide the current user to the searcher class" do
user = mock_model(Spree.user_class, :last_incomplete_spree_order => nil, :spree_api_key => 'fake')
controller.stub :try_spree_current_user => user
$("#signup-form").on("submit", function(event) {
event.preventDefault();
mixpanel.track("Signup form submitted", {}, function() { $("#signup-form").off("submit").submit(); });
});