forked from RailsApps/rails-stripe-membership-saas
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
8 changed files
with
174 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
Teaspoon.setup do |config| | ||
|
||
# This determines where the Teaspoon routes will be mounted. Changing this to "/jasmine" would allow you to browse to | ||
# http://localhost:3000/jasmine to run your specs. | ||
config.mount_at = "/javascript_test" | ||
|
||
# This defaults to Rails.root if left nil. If you're testing an engine using a dummy application it can be useful to | ||
# set this to your engines root.. E.g. `Teaspoon::Engine.root` | ||
config.root = nil | ||
|
||
# These paths are appended to the Rails assets paths (relative to config.root), and by default is an array that you | ||
# can replace or add to. | ||
config.asset_paths = ["spec/javascripts", "spec/javascripts/stylesheets"] | ||
|
||
# Fixtures are rendered through a standard controller. This means you can use things like HAML or RABL/JBuilder, etc. | ||
# to generate fixtures within this path. | ||
config.fixture_path = "spec/javascripts/fixtures" | ||
|
||
# You can modify the default suite configuration and create new suites here. Suites can be isolated from one another. | ||
# When defining a suite you can provide a name and a block. If the name is left blank, :default is assumed. You can | ||
# omit various directives and the defaults will be used. | ||
# | ||
# To run a specific suite | ||
# - in the browser: http://localhost/teaspoon/[suite_name] | ||
# - from the command line: rake teaspoon suite=[suite_name] | ||
config.suite do |suite| | ||
|
||
# You can specify a file matcher and all matching files will be loaded when the suite is run. It's important that | ||
# these files are serve-able from sprockets. | ||
# | ||
# Note: Can also be set to nil. | ||
suite.matcher = "{spec/javascripts,app/assets}/**/*_spec.{js,js.coffee,coffee}" | ||
|
||
# Each suite can load a different helper, which can in turn require additional files. This file is loaded before | ||
# your specs are loaded, and can be used as a manifest. | ||
suite.helper = "spec_helper" | ||
|
||
# These are the core Teaspoon javascripts. It's strongly encouraged to include only the base files here. You can | ||
# require other support libraries in your spec helper, which allows you to change them without having to restart the | ||
# server. | ||
# | ||
# Available frameworks: teaspoon-jasmine, teaspoon-mocha, teaspoon-qunit | ||
# | ||
# Note: To use the CoffeeScript source files use `"teaspoon/mocha"` etc. | ||
suite.javascripts = ["teaspoon-mocha"] | ||
|
||
# If you want to change how Teaspoon looks, or include your own stylesheets you can do that here. The default is the | ||
# stylesheet for the HTML reporter. | ||
suite.stylesheets = ["teaspoon"] | ||
|
||
# When running coverage reports, you probably want to exclude libraries that you're not testing. | ||
# Accepts an array of filenames or regular expressions. The default is to exclude assets from vendors or gems. | ||
suite.no_coverage = [%r{/lib/ruby/gems/}, %r{/vendor/assets/}, %r{/support/}, %r{/(.+)_helper.}] | ||
# suite.no_coverage << "jquery.min.js" # excludes jquery from coverage reports | ||
|
||
end | ||
|
||
# Example suite. Since we're just filtering to files already within the root spec/javascripts, these files will also | ||
# be run in the default suite -- but can be focused into a more specific suite. | ||
#config.suite :targeted do |suite| | ||
# suite.matcher = "spec/javascripts/targeted/*_spec.{js,js.coffee,coffee}" | ||
#end | ||
|
||
end if defined?(Teaspoon) && Teaspoon.respond_to?(:setup) # let Teaspoon be undefined outside of development/test/asset groups |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
require 'rake/testtask' | ||
require "teaspoon/console" | ||
|
||
namespace 'spec' do | ||
desc "Run the javascript test" | ||
task :javascript => :environment do | ||
puts "\n\n===== Starting Javascript Test =====\n\n" | ||
fail if Teaspoon::Console.new({suite: ENV["suite"]}).execute | ||
puts "===== Javascript Test Complete =====\n\n\n" | ||
end | ||
end | ||
|
||
Rake::TestTask.new(:default => "spec:javascript") do |test| | ||
test.pattern = 'spec/javascript/*_test.rb' | ||
test.verbose = true | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
foobar = | ||
sayHello: -> | ||
return 'Hello World!' | ||
|
||
describe "Foobar", -> | ||
describe "#sayHello()", -> | ||
it "should work with assert", -> | ||
assert.equal foobar.sayHello(), 'Hello World!' | ||
|
||
it "should work with expect", -> | ||
expect(foobar.sayHello()).to.equal('Hello World!') | ||
|
||
it "should work with should", -> | ||
foobar.sayHello().should.equal('Hello World!') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# Teaspoon includes some support files, but you can use anything from your own support path too. | ||
# require support/expect | ||
# require support/sinon | ||
# require support/your-support-file | ||
# | ||
# Deferring execution | ||
# If you're using CommonJS, RequireJS or some other asynchronous library you can defer execution. Call Teaspoon.execute() | ||
# after everything has been loaded. Simple example of a timeout: | ||
# | ||
# Teaspoon.defer = true | ||
# setTimeout(Teaspoon.execute, 1000) | ||
# | ||
# Matching files | ||
# By default Teaspoon will look for files that match _spec.{js,js.coffee,.coffee}. Add a filename_spec.js file in your | ||
# spec path and it'll be included in the default suite automatically. If you want to customize suites, check out the | ||
# configuration in config/initializers/teaspoon.rb | ||
# | ||
# Manifest | ||
# If you'd rather require your spec files manually (to control order for instance) you can disable the suite matcher in | ||
# the configuration and use this file as a manifest. | ||
# | ||
# For more information: http://github.com/modeset/teaspoon | ||
# | ||
# You can require javascript files here. A good place to start is by requiring your application.js. | ||
|
||
#= require application | ||
#= require support/sinon | ||
#= require support/chai | ||
#= require support/chai_helper.js |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
var assert = chai.assert, | ||
expect = chai.expect, | ||
should = chai.should(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# This file allows you to override various Teaspoon configuration directives when running from the command line. It is not | ||
# required from within the Rails environment, so overriding directives that have been defined within the initializer | ||
# is not possible. | ||
# | ||
# Set RAILS_ROOT and load the environment. | ||
ENV["RAILS_ROOT"] = File.expand_path("../../", __FILE__) | ||
require File.expand_path("../../config/environment", __FILE__) | ||
|
||
# Provide default configuration. | ||
# | ||
# You can override various configuration directives defined here by using arguments with the teaspoon command. | ||
# | ||
# teaspoon --driver=selenium --suppress-log | ||
# rake teaspoon DRIVER=selenium SUPPRESS_LOG=false | ||
Teaspoon.setup do |config| | ||
# Driver / Server | ||
#config.driver = "phantomjs" # available: phantomjs, selenium | ||
#config.server = nil # defaults to Rack::Server | ||
|
||
# Behaviors | ||
#config.server_timeout = 20 # timeout for starting the server | ||
#config.server_port = nil # defaults to any open port unless specified | ||
#config.fail_fast = true # abort after the first failing suite | ||
|
||
# Output | ||
#config.formatters = "dot" # available: dot, tap, tap_y, swayze_or_oprah | ||
#config.suppress_log = false # suppress logs coming from console[log/error/debug] | ||
#config.color = true | ||
|
||
# Coverage (requires istanbul -- https://github.com/gotwarlost/istanbul) | ||
#config.coverage = true | ||
#config.coverage_reports = "text,html,cobertura" | ||
end |