spreewald 0.7.0 → 0.8.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.
data/.travis.yml ADDED
@@ -0,0 +1,14 @@
1
+ language: ruby
2
+ rvm:
3
+ - "1.8.7"
4
+ - "1.9.3"
5
+ - ree
6
+ services:
7
+ - mysql
8
+ script: rake travis:run
9
+ notifications:
10
+ email:
11
+ - fail@makandra.de
12
+ branches:
13
+ only:
14
+ - master
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Spreewald
1
+ # Spreewald [![Build Status](https://secure.travis-ci.org/makandra/spreewald.png?branch=master)](https://travis-ci.org/makandra/spreewald)
2
2
 
3
3
  Spreewald is a collection of useful steps for cucumber. Feel free to fork.
4
4
 
data/Rakefile CHANGED
@@ -15,6 +15,32 @@ task :update_readme do
15
15
  File.open('README.md', 'w') { |f| f.write(readme) }
16
16
  end
17
17
 
18
+ namespace :travis do
19
+
20
+ desc 'Run tests in Travis CI'
21
+ task :run => [:slimgems, :create_database, :create_database_yml] do
22
+ Rake::Task['tests:bundle'].invoke
23
+ Rake::Task['tests:run'].invoke
24
+ end
25
+
26
+ desc 'Install slimgems'
27
+ task :slimgems do
28
+ system('gem install slimgems')
29
+ end
30
+
31
+ desc 'Creates a test database'
32
+ task :create_database do
33
+ system("mysql -e 'create database spreewald_test;'")
34
+ end
35
+
36
+ desc 'Creates a database.yml'
37
+ task :create_database_yml do
38
+ config_dir = "tests/shared/config"
39
+ system("cp #{config_dir}/database.sample.yml #{config_dir}/database.yml")
40
+ end
41
+
42
+ end
43
+
18
44
  namespace :tests do
19
45
 
20
46
  desc "Run tests on all test apps"
@@ -49,6 +75,9 @@ def for_each_directory_of(path, &block)
49
75
  Dir[path].sort.each do |rakefile|
50
76
  directory = File.dirname(rakefile)
51
77
  puts '', "\033[44m#{directory}\033[0m", ''
52
- block.call(directory)
78
+
79
+ unless RUBY_VERSION.start_with?("1.9") and directory.include?("rails-2.3")
80
+ block.call(directory)
81
+ end
53
82
  end
54
83
  end
@@ -0,0 +1,42 @@
1
+ # Attach a file
2
+ #
3
+ # Example:
4
+ #
5
+ # Company.new.logo = File.new…
6
+ #
7
+ # Given the file "…" was attached as logo to the company above
8
+ #
9
+ #
10
+ # Example:
11
+ #
12
+ # class Gallery
13
+ # has_many :images, :as => :owner
14
+ # end
15
+ #
16
+ # class Image
17
+ # belongs_to :owner, polymorphic: true
18
+ # end
19
+ #
20
+ # # so container = Image.new; container.file = File.new… , container.owner = object
21
+ #
22
+ # Given the file "…" was attached as Image/file to the company above
23
+ #
24
+ #
25
+ Given /^the file "([^"]*)" was attached(?: as (?:([^"]*)\/)?([^"]*))? to the ([^"]*) above(?: at "([^"]*)")?$/ do
26
+ |path_to_file, container_name, relation_name, model_name, time_string|
27
+
28
+ object = model_name.camelize.constantize.last
29
+ time = Time.parse(time_string) if time_string.present?
30
+
31
+ if container_name.present?
32
+ container = container_name.camelize.constantize.new # Image.file = File... owner: gallery
33
+ container.owner = object
34
+ container.created_at = time if time
35
+ else
36
+ container = object # Person.avatar = File...
37
+ end
38
+
39
+ container.send("#{relation_name}=", File.new(path_to_file))
40
+ container.updated_at = time if time
41
+ container.save!
42
+ end
@@ -324,6 +324,7 @@ Then /^I should get a response with content-type "([^\"]*)"$/ do |expected_conte
324
324
  end
325
325
 
326
326
  # Checks "Content-Disposition" HTTP header
327
+ # Attention: Doesn't work with Selenium, see https://github.com/jnicklas/capybara#gotchas
327
328
  Then /^I should get a download with filename "([^\"]*)"$/ do |filename|
328
329
  page.response_headers['Content-Disposition'].should =~ /filename="#{filename}"$/
329
330
  end
@@ -1,5 +1,5 @@
1
1
  # coding: UTF-8
2
2
 
3
3
  module Spreewald
4
- VERSION = "0.7.0"
4
+ VERSION = "0.8.0"
5
5
  end
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ../..
3
3
  specs:
4
- spreewald (0.6.7)
4
+ spreewald (0.7.0)
5
5
  capybara
6
6
  cucumber
7
7
  cucumber-rails
@@ -1,7 +1,15 @@
1
- cucumber:
2
- database: spreewald_test
1
+ development:
3
2
  adapter: mysql2
3
+ database: spreewald_development
4
+ encoding: utf8
4
5
  host: localhost
5
6
  username: root
6
7
  password: junior
7
8
 
9
+ test:
10
+ adapter: mysql2
11
+ database: spreewald_test
12
+ encoding: utf8
13
+ host: localhost
14
+ username: root
15
+ password: junior
@@ -4,7 +4,7 @@
4
4
  # instead of editing this one. Cucumber will automatically load all features/**/*.rb
5
5
  # files.
6
6
 
7
- ENV["RAILS_ENV"] ||= "cucumber"
7
+ ENV["RAILS_ENV"] ||= "test"
8
8
  require File.expand_path(File.dirname(__FILE__) + '/../../config/environment')
9
9
 
10
10
  # require 'spec/support/blueprints'
@@ -5,7 +5,7 @@ gem 'mysql2'
5
5
  gem 'ruby-debug', :platforms => :ruby_18
6
6
  gem 'database_cleaner'
7
7
  gem 'capybara', "~>1" # for ruby 1.8.7 (capybara 2.x requires ruby 1.9)
8
- # gem 'andand'
8
+ gem 'cucumber', '1.3.2' # 1.3.3 uses an API that slimgems does not provide
9
9
 
10
10
  gem 'rspec-rails'
11
11
  gem 'spreewald', :path => '../..'
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ../..
3
3
  specs:
4
- spreewald (0.6.7)
4
+ spreewald (0.7.0)
5
5
  capybara
6
6
  cucumber
7
7
  cucumber-rails
@@ -51,18 +51,19 @@ GEM
51
51
  cucumber (1.3.2)
52
52
  builder (>= 2.1.2)
53
53
  diff-lcs (>= 1.1.3)
54
- gherkin (~> 2.12.0)
55
- multi_json (~> 1.3)
56
- cucumber-rails (1.3.1)
54
+ gherkin (~> 2.12)
55
+ multi_json (>= 1.7.5, < 2.0)
56
+ multi_test (>= 0.0.2)
57
+ cucumber-rails (1.4.0)
57
58
  capybara (>= 1.1.2)
58
59
  cucumber (>= 1.2.0)
59
60
  nokogiri (>= 1.5.0)
60
- rails (~> 3.0)
61
+ rails (>= 3.0.0)
61
62
  database_cleaner (1.0.1)
62
63
  diff-lcs (1.2.4)
63
64
  erubis (2.7.0)
64
65
  ffi (1.8.1)
65
- gherkin (2.12.0)
66
+ gherkin (2.12.2)
66
67
  multi_json (~> 1.3)
67
68
  haml (4.0.3)
68
69
  tilt
@@ -82,6 +83,7 @@ GEM
82
83
  treetop (~> 1.4.8)
83
84
  mime-types (1.23)
84
85
  multi_json (1.7.5)
86
+ multi_test (0.0.2)
85
87
  mysql2 (0.3.11)
86
88
  nokogiri (1.5.9)
87
89
  polyglot (0.3.3)
@@ -153,6 +155,7 @@ PLATFORMS
153
155
 
154
156
  DEPENDENCIES
155
157
  capybara (~> 1)
158
+ cucumber (= 1.3.2)
156
159
  database_cleaner
157
160
  haml-rails
158
161
  mysql2
@@ -1,7 +1,15 @@
1
- cucumber:
2
- database: spreewald_test
1
+ development:
3
2
  adapter: mysql2
3
+ database: spreewald_development
4
+ encoding: utf8
4
5
  host: localhost
5
6
  username: root
6
7
  password: junior
7
8
 
9
+ test:
10
+ adapter: mysql2
11
+ database: spreewald_test
12
+ encoding: utf8
13
+ host: localhost
14
+ username: root
15
+ password: junior
@@ -4,7 +4,7 @@
4
4
  # instead of editing this one. Cucumber will automatically load all features/**/*.rb
5
5
  # files.
6
6
 
7
- ENV["RAILS_ENV"] ||= "cucumber"
7
+ ENV["RAILS_ENV"] ||= "test"
8
8
 
9
9
  require 'cucumber/rails'
10
10
  # require 'capybara/rails'
@@ -1,4 +1,4 @@
1
- cucumber:
1
+ test:
2
2
  database: spreewald_test
3
3
  adapter: mysql2
4
4
  host: localhost
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spreewald
3
3
  version: !ruby/object:Gem::Version
4
- hash: 3
4
+ hash: 63
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 7
8
+ - 8
9
9
  - 0
10
- version: 0.7.0
10
+ version: 0.8.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Tobias Kraze
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2013-10-30 00:00:00 +01:00
18
+ date: 2013-12-04 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -72,6 +72,7 @@ extra_rdoc_files: []
72
72
  files:
73
73
  - .gitignore
74
74
  - .ruby-version
75
+ - .travis.yml
75
76
  - LICENSE
76
77
  - README.md
77
78
  - Rakefile
@@ -81,6 +82,7 @@ files:
81
82
  - lib/spreewald/all_steps.rb
82
83
  - lib/spreewald/development_steps.rb
83
84
  - lib/spreewald/email_steps.rb
85
+ - lib/spreewald/file_attachment_steps.rb
84
86
  - lib/spreewald/table_steps.rb
85
87
  - lib/spreewald/timecop_steps.rb
86
88
  - lib/spreewald/web_steps.rb
@@ -99,7 +101,7 @@ files:
99
101
  - tests/rails-2.3/config/boot.rb
100
102
  - tests/rails-2.3/config/database.yml
101
103
  - tests/rails-2.3/config/environment.rb
102
- - tests/rails-2.3/config/environments/cucumber.rb
104
+ - tests/rails-2.3/config/environments/test.rb
103
105
  - tests/rails-2.3/config/initializers/backtrace_silencers.rb
104
106
  - tests/rails-2.3/config/initializers/cookie_verification_secret.rb
105
107
  - tests/rails-2.3/config/initializers/inflections.rb