spreadsheet_architect 2.0.2 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +34 -26
  3. data/README.md +15 -15
  4. data/Rakefile +5 -3
  5. data/lib/spreadsheet_architect/class_methods/ods.rb +16 -2
  6. data/lib/spreadsheet_architect/monkey_patches/axlsx_column_width.rb +33 -3
  7. data/lib/spreadsheet_architect/utils/xlsx.rb +36 -18
  8. data/lib/spreadsheet_architect/version.rb +1 -1
  9. data/test/custom_assertions.rb +21 -0
  10. data/test/{rails_app → dummy_app}/Rakefile +3 -2
  11. data/test/{rails_app/public/apple-touch-icon-precomposed.png → dummy_app/app/assets/javascripts/application.js} +0 -0
  12. data/test/dummy_app/app/assets/stylesheets/application.css +3 -0
  13. data/test/{rails_app → dummy_app}/app/controllers/application_controller.rb +1 -1
  14. data/test/{rails_app → dummy_app}/app/controllers/spreadsheets_controller.rb +0 -0
  15. data/test/{rails_app → dummy_app}/app/models/active_model_object.rb +0 -0
  16. data/test/{rails_app → dummy_app}/app/models/application_record.rb +0 -0
  17. data/test/{rails_app → dummy_app}/app/models/bad_plain_ruby_object.rb +0 -0
  18. data/test/{rails_app → dummy_app}/app/models/custom_post.rb +2 -2
  19. data/test/{rails_app → dummy_app}/app/models/plain_ruby_object.rb +0 -0
  20. data/test/{rails_app → dummy_app}/app/models/post.rb +0 -0
  21. data/test/dummy_app/app/views/layouts/application.html.erb +14 -0
  22. data/test/dummy_app/app/views/reports/sample.html.erb +1 -0
  23. data/test/dummy_app/config.ru +4 -0
  24. data/test/dummy_app/config/application.rb +69 -0
  25. data/test/dummy_app/config/boot.rb +10 -0
  26. data/test/dummy_app/config/database.yml +25 -0
  27. data/test/dummy_app/config/environment.rb +5 -0
  28. data/test/dummy_app/config/environments/development.rb +30 -0
  29. data/test/dummy_app/config/environments/production.rb +60 -0
  30. data/test/dummy_app/config/environments/test.rb +41 -0
  31. data/test/{rails_app → dummy_app}/config/initializers/backtrace_silencers.rb +0 -0
  32. data/test/dummy_app/config/initializers/inflections.rb +10 -0
  33. data/test/{rails_app → dummy_app}/config/initializers/mime_types.rb +1 -0
  34. data/test/dummy_app/config/initializers/secret_token.rb +11 -0
  35. data/test/dummy_app/config/initializers/session_store.rb +8 -0
  36. data/test/dummy_app/config/initializers/spreadsheet_architect.rb +11 -0
  37. data/test/{rails_app → dummy_app}/config/initializers/wrap_parameters.rb +5 -5
  38. data/test/dummy_app/config/locales/en.yml +5 -0
  39. data/test/{rails_app → dummy_app}/config/routes.rb +1 -1
  40. data/test/{rails_app → dummy_app}/config/secrets.yml +4 -4
  41. data/test/{rails_app → dummy_app}/db/migrate/20170103234524_add_posts.rb +0 -0
  42. data/test/{rails_app → dummy_app}/db/schema.rb +4 -4
  43. data/test/{rails_app → dummy_app}/db/test.sqlite3 +0 -0
  44. data/test/dummy_app/log/development.log +28 -0
  45. data/test/dummy_app/log/test.log +24564 -0
  46. data/test/dummy_app/tmp/active_model_object/csv.csv +21 -0
  47. data/test/dummy_app/tmp/active_model_object/ods.ods +0 -0
  48. data/test/dummy_app/tmp/active_model_object/xlsx.xlsx +0 -0
  49. data/test/dummy_app/tmp/custom_posts/csv.csv +6 -0
  50. data/test/dummy_app/tmp/custom_posts/empty.xlsx +0 -0
  51. data/test/dummy_app/tmp/custom_posts/ods.ods +0 -0
  52. data/test/dummy_app/tmp/custom_posts/xlsx.xlsx +0 -0
  53. data/test/{rails_app → dummy_app}/tmp/empty_model.csv +0 -0
  54. data/test/dummy_app/tmp/empty_model.xlsx +0 -0
  55. data/test/{rails_app → dummy_app}/tmp/empty_sa.csv +0 -0
  56. data/test/dummy_app/tmp/empty_sa.xlsx +0 -0
  57. data/test/dummy_app/tmp/extreme.xlsx +0 -0
  58. data/test/dummy_app/tmp/integration_tests/alt_xlsx.xlsx +0 -0
  59. data/test/dummy_app/tmp/integration_tests/csv.csv +6 -0
  60. data/test/dummy_app/tmp/integration_tests/ods.ods +0 -0
  61. data/test/dummy_app/tmp/integration_tests/xlsx.xlsx +0 -0
  62. data/test/dummy_app/tmp/model.csv +6 -0
  63. data/test/dummy_app/tmp/model.xlsx +0 -0
  64. data/test/dummy_app/tmp/ods/empty_model.ods +0 -0
  65. data/test/{rails_app → dummy_app}/tmp/ods/empty_sa.ods +0 -0
  66. data/test/dummy_app/tmp/ods/model.ods +0 -0
  67. data/test/dummy_app/tmp/ods/model_options.ods +0 -0
  68. data/test/dummy_app/tmp/ods/sa.ods +0 -0
  69. data/test/dummy_app/tmp/options.csv +6 -0
  70. data/test/dummy_app/tmp/plain_ruby_object/csv.csv +4 -0
  71. data/test/dummy_app/tmp/plain_ruby_object/ods.ods +0 -0
  72. data/test/dummy_app/tmp/plain_ruby_object/xlsx.xlsx +0 -0
  73. data/test/dummy_app/tmp/posts/csv.csv +6 -0
  74. data/test/dummy_app/tmp/posts/empty.xlsx +0 -0
  75. data/test/dummy_app/tmp/posts/ods.ods +0 -0
  76. data/test/dummy_app/tmp/posts/xlsx.xlsx +0 -0
  77. data/test/{rails_app → dummy_app}/tmp/sa.csv +0 -0
  78. data/test/dummy_app/tmp/sa.xlsx +0 -0
  79. data/test/integration/application_test.rb +49 -0
  80. data/test/{rails_app/test/models → models}/active_model_object_test.rb +1 -4
  81. data/test/{rails_app/test/models → models}/bad_plain_ruby_object_test.rb +0 -2
  82. data/test/{rails_app/test/models → models}/csv_test.rb +5 -6
  83. data/test/{rails_app/test/models → models}/custom_post_test.rb +0 -3
  84. data/test/{rails_app/test/models → models}/ods_test.rb +6 -9
  85. data/test/{rails_app/test/models → models}/plain_ruby_object_test.rb +1 -4
  86. data/test/{rails_app/test/models → models}/post_test.rb +1 -4
  87. data/test/{rails_app/test/models → models}/spreadsheet_architect_utils_test.rb +0 -1
  88. data/test/{rails_app/test/models → models}/xlsx_test.rb +6 -7
  89. data/test/spreadsheet_architect_test.rb +11 -0
  90. data/test/test_helper.rb +35 -0
  91. metadata +186 -228
  92. data/test/rails_app/Gemfile +0 -17
  93. data/test/rails_app/Gemfile.lock +0 -176
  94. data/test/rails_app/README.md +0 -24
  95. data/test/rails_app/app/assets/config/manifest.js +0 -3
  96. data/test/rails_app/app/assets/javascripts/application.js +0 -16
  97. data/test/rails_app/app/assets/javascripts/cable.js +0 -13
  98. data/test/rails_app/app/assets/stylesheets/application.css +0 -15
  99. data/test/rails_app/app/channels/application_cable/channel.rb +0 -4
  100. data/test/rails_app/app/channels/application_cable/connection.rb +0 -4
  101. data/test/rails_app/app/helpers/application_helper.rb +0 -2
  102. data/test/rails_app/app/jobs/application_job.rb +0 -2
  103. data/test/rails_app/app/mailers/application_mailer.rb +0 -4
  104. data/test/rails_app/app/views/layouts/application.html.erb +0 -14
  105. data/test/rails_app/app/views/layouts/mailer.html.erb +0 -13
  106. data/test/rails_app/app/views/layouts/mailer.text.erb +0 -1
  107. data/test/rails_app/bin/bundle +0 -3
  108. data/test/rails_app/bin/rails +0 -9
  109. data/test/rails_app/bin/rake +0 -9
  110. data/test/rails_app/bin/setup +0 -34
  111. data/test/rails_app/bin/spring +0 -16
  112. data/test/rails_app/bin/update +0 -29
  113. data/test/rails_app/config.ru +0 -5
  114. data/test/rails_app/config/application.rb +0 -15
  115. data/test/rails_app/config/boot.rb +0 -3
  116. data/test/rails_app/config/cable.yml +0 -9
  117. data/test/rails_app/config/database.yml +0 -16
  118. data/test/rails_app/config/environment.rb +0 -5
  119. data/test/rails_app/config/environments/development.rb +0 -54
  120. data/test/rails_app/config/environments/production.rb +0 -86
  121. data/test/rails_app/config/environments/test.rb +0 -42
  122. data/test/rails_app/config/initializers/application_controller_renderer.rb +0 -6
  123. data/test/rails_app/config/initializers/assets.rb +0 -11
  124. data/test/rails_app/config/initializers/cookies_serializer.rb +0 -5
  125. data/test/rails_app/config/initializers/filter_parameter_logging.rb +0 -4
  126. data/test/rails_app/config/initializers/inflections.rb +0 -16
  127. data/test/rails_app/config/initializers/new_framework_defaults.rb +0 -24
  128. data/test/rails_app/config/initializers/session_store.rb +0 -3
  129. data/test/rails_app/config/locales/en.yml +0 -23
  130. data/test/rails_app/db/development.sqlite3 +0 -0
  131. data/test/rails_app/db/seeds.rb +0 -7
  132. data/test/rails_app/log/development.log +0 -1195
  133. data/test/rails_app/log/test.log +0 -55339
  134. data/test/rails_app/public/404.html +0 -67
  135. data/test/rails_app/public/422.html +0 -67
  136. data/test/rails_app/public/500.html +0 -66
  137. data/test/rails_app/public/apple-touch-icon.png +0 -0
  138. data/test/rails_app/public/favicon.ico +0 -0
  139. data/test/rails_app/public/robots.txt +0 -5
  140. data/test/rails_app/test/controllers/spreadsheets_controller_test.rb +0 -46
  141. data/test/rails_app/test/test_helper.rb +0 -21
  142. data/test/rails_app/tmp/active_model_object/csv.csv +0 -21
  143. data/test/rails_app/tmp/active_model_object/ods.ods +0 -0
  144. data/test/rails_app/tmp/active_model_object/xlsx.xlsx +0 -0
  145. data/test/rails_app/tmp/controller_tests/alt_xlsx.xlsx +0 -0
  146. data/test/rails_app/tmp/controller_tests/csv.csv +0 -1
  147. data/test/rails_app/tmp/controller_tests/ods.ods +0 -0
  148. data/test/rails_app/tmp/controller_tests/xlsx.xlsx +0 -0
  149. data/test/rails_app/tmp/custom_posts/csv.csv +0 -1
  150. data/test/rails_app/tmp/custom_posts/empty.xlsx +0 -0
  151. data/test/rails_app/tmp/custom_posts/ods.ods +0 -0
  152. data/test/rails_app/tmp/custom_posts/xlsx.xlsx +0 -0
  153. data/test/rails_app/tmp/empty_model.xlsx +0 -0
  154. data/test/rails_app/tmp/empty_sa.xlsx +0 -0
  155. data/test/rails_app/tmp/extreme.xlsx +0 -0
  156. data/test/rails_app/tmp/model.csv +0 -1
  157. data/test/rails_app/tmp/model.xlsx +0 -0
  158. data/test/rails_app/tmp/ods/empty_model.ods +0 -0
  159. data/test/rails_app/tmp/ods/model.ods +0 -0
  160. data/test/rails_app/tmp/ods/model_options.ods +0 -0
  161. data/test/rails_app/tmp/ods/sa.ods +0 -0
  162. data/test/rails_app/tmp/options.csv +0 -1
  163. data/test/rails_app/tmp/plain_ruby_object/csv.csv +0 -4
  164. data/test/rails_app/tmp/plain_ruby_object/ods.ods +0 -0
  165. data/test/rails_app/tmp/plain_ruby_object/xlsx.xlsx +0 -0
  166. data/test/rails_app/tmp/posts/csv.csv +0 -1
  167. data/test/rails_app/tmp/posts/empty.xlsx +0 -0
  168. data/test/rails_app/tmp/posts/ods.ods +0 -0
  169. data/test/rails_app/tmp/posts/xlsx.xlsx +0 -0
  170. data/test/rails_app/tmp/sa.xlsx +0 -0
@@ -0,0 +1,21 @@
1
+ Name,Content,Created At
2
+ asd,asd,2018-06-20 09:15:11 -0700
3
+ asd,asd,2018-06-20 09:15:11 -0700
4
+ asd,asd,2018-06-20 09:15:11 -0700
5
+ asd,asd,2018-06-20 09:15:11 -0700
6
+ asd,asd,2018-06-20 09:15:11 -0700
7
+ asd,asd,2018-06-20 09:15:11 -0700
8
+ asd,asd,2018-06-20 09:15:11 -0700
9
+ asd,asd,2018-06-20 09:15:11 -0700
10
+ asd,asd,2018-06-20 09:15:11 -0700
11
+ asd,asd,2018-06-20 09:15:11 -0700
12
+ asd,asd,2018-06-20 09:15:11 -0700
13
+ asd,asd,2018-06-20 09:15:11 -0700
14
+ asd,asd,2018-06-20 09:15:11 -0700
15
+ asd,asd,2018-06-20 09:15:11 -0700
16
+ asd,asd,2018-06-20 09:15:11 -0700
17
+ asd,asd,2018-06-20 09:15:11 -0700
18
+ asd,asd,2018-06-20 09:15:11 -0700
19
+ asd,asd,2018-06-20 09:15:11 -0700
20
+ asd,asd,2018-06-20 09:15:11 -0700
21
+ asd,asd,2018-06-20 09:15:11 -0700
@@ -0,0 +1,6 @@
1
+ Name,The Content,Created At,Created At Date,asd
2
+ foo 0,bar 0,2018-06-20 15:46:34 UTC,2018-06-20,tadaaa
3
+ foo 1,bar 1,2018-06-20 15:46:34 UTC,2018-06-20,tadaaa
4
+ foo 2,bar 2,2018-06-20 15:46:34 UTC,2018-06-20,tadaaa
5
+ foo 3,bar 3,2018-06-20 15:46:34 UTC,2018-06-20,tadaaa
6
+ foo 4,bar 4,2018-06-20 15:46:34 UTC,2018-06-20,tadaaa
@@ -0,0 +1,6 @@
1
+ Name,Content,Age
2
+ foo 0,bar 0,0
3
+ foo 1,bar 1,1
4
+ foo 2,bar 2,2
5
+ foo 3,bar 3,3
6
+ foo 4,bar 4,4
@@ -0,0 +1,6 @@
1
+ Name,Content,Age
2
+ foo 0,bar 0,0
3
+ foo 1,bar 1,1
4
+ foo 2,bar 2,2
5
+ foo 3,bar 3,3
6
+ foo 4,bar 4,4
@@ -0,0 +1,6 @@
1
+ Name,Content,Age
2
+ foo 0,bar 0,0
3
+ foo 1,bar 1,1
4
+ foo 2,bar 2,2
5
+ foo 3,bar 3,3
6
+ foo 4,bar 4,4
@@ -0,0 +1,4 @@
1
+ Title,Content,Object ID
2
+ My Title,The content...,47373724669640
3
+ My Title,The content...,47373724669620
4
+ My Title,The content...,47373724669600
@@ -0,0 +1,6 @@
1
+ Name,Content,Age
2
+ foo 0,bar 0,0
3
+ foo 1,bar 1,1
4
+ foo 2,bar 2,2
5
+ foo 3,bar 3,3
6
+ foo 4,bar 4,4
File without changes
@@ -0,0 +1,49 @@
1
+ ### FOR RAILS TESTS
2
+
3
+ require 'test_helper'
4
+
5
+ class ApplicationTest < ActionDispatch::IntegrationTest
6
+ def setup
7
+ @path = Rails.root.join('tmp/integration_tests')
8
+ FileUtils.mkdir_p(@path)
9
+ end
10
+
11
+ test "Renders sample xlsx action" do
12
+ get '/spreadsheet/xlsx', params: {format: :xlsx}
13
+ assert_response :success
14
+ assert_not @response.body.include?("<h1>Hello World!</h1>")
15
+ end
16
+
17
+ def test_csv
18
+ get '/spreadsheet/csv'
19
+ assert_response :success
20
+ File.open(File.join(@path, 'csv.csv'), 'w+b') do |f|
21
+ f.write @response.body
22
+ end
23
+ end
24
+
25
+ def test_ods
26
+ get '/spreadsheet/ods'
27
+ assert_response :success
28
+
29
+ File.open(File.join(@path, 'ods.ods'), 'w+b') do |f|
30
+ f.write @response.body
31
+ end
32
+ end
33
+
34
+ def test_xlsx
35
+ get '/spreadsheet/xlsx'
36
+ assert_response :success
37
+ File.open(File.join(@path, 'xlsx.xlsx'), 'w+b') do |f|
38
+ f.write @response.body
39
+ end
40
+ end
41
+
42
+ def test_alt_xlsx
43
+ get '/spreadsheet/alt_xlsx', params: {format: :xlsx}
44
+ assert_response :success
45
+ File.open(File.join(@path, 'alt_xlsx.xlsx'), 'w+b') do |f|
46
+ f.write @response.body
47
+ end
48
+ end
49
+ end
@@ -3,10 +3,8 @@ require "test_helper"
3
3
  class ActiveModelObjectTest < ActiveSupport::TestCase
4
4
 
5
5
  def setup
6
- @path = 'tmp/active_model_object'
6
+ @path = Rails.root.join('tmp/active_model_object')
7
7
  FileUtils.mkdir_p(@path)
8
-
9
- DatabaseCleaner.start
10
8
  end
11
9
 
12
10
  def test_csv
@@ -49,6 +47,5 @@ class ActiveModelObjectTest < ActiveSupport::TestCase
49
47
  end
50
48
 
51
49
  def teardown
52
- DatabaseCleaner.clean
53
50
  end
54
51
  end
@@ -3,7 +3,6 @@ require "test_helper"
3
3
  class BadPlainRubyObjectTest < ActiveSupport::TestCase
4
4
 
5
5
  def setup
6
- DatabaseCleaner.start
7
6
  end
8
7
 
9
8
  def test_csv
@@ -25,6 +24,5 @@ class BadPlainRubyObjectTest < ActiveSupport::TestCase
25
24
  end
26
25
 
27
26
  def teardown
28
- DatabaseCleaner.clean
29
27
  end
30
28
  end
@@ -24,37 +24,36 @@ class CsvTest < ActiveSupport::TestCase
24
24
 
25
25
  def test_empty_model
26
26
  Post.delete_all
27
- File.open('tmp/empty_model.csv','w+b') do |f|
27
+ File.open(Rails.root.join('tmp/empty_model.csv'),'w+b') do |f|
28
28
  f.write Post.to_csv
29
29
  end
30
30
  end
31
31
 
32
32
  def test_empty_sa
33
- File.open('tmp/empty_sa.csv','w+b') do |f|
33
+ File.open(Rails.root.join('tmp/empty_sa.csv'),'w+b') do |f|
34
34
  f.write SpreadsheetArchitect.to_csv(data: [])
35
35
  end
36
36
  end
37
37
 
38
38
  def test_sa
39
- File.open('tmp/sa.csv','w+b') do |f|
39
+ File.open(Rails.root.join('tmp/sa.csv'),'w+b') do |f|
40
40
  f.write SpreadsheetArchitect.to_csv(headers: @headers, data: @data)
41
41
  end
42
42
  end
43
43
 
44
44
  def test_model
45
- File.open('tmp/model.csv','w+b') do |f|
45
+ File.open(Rails.root.join('tmp/model.csv'),'w+b') do |f|
46
46
  f.write Post.to_csv
47
47
  end
48
48
  end
49
49
 
50
50
  def test_options
51
- File.open('tmp/options.csv','w+b') do |f|
51
+ File.open(Rails.root.join('tmp/options.csv'),'w+b') do |f|
52
52
  f.write Post.to_csv(@options)
53
53
  end
54
54
  end
55
55
 
56
56
  def teardown
57
- DatabaseCleaner.clean
58
57
  end
59
58
 
60
59
  end
@@ -5,8 +5,6 @@ class CustomPostTest < ActiveSupport::TestCase
5
5
  def setup
6
6
  @path = File.join(Rails.root, 'tmp/custom_posts')
7
7
  FileUtils.mkdir_p(@path)
8
-
9
- DatabaseCleaner.start
10
8
  end
11
9
 
12
10
  def test_csv
@@ -49,6 +47,5 @@ class CustomPostTest < ActiveSupport::TestCase
49
47
 
50
48
 
51
49
  def teardown
52
- DatabaseCleaner.clean
53
50
  end
54
51
  end
@@ -3,9 +3,7 @@ require 'test_helper'
3
3
  class OdsTest < ActiveSupport::TestCase
4
4
 
5
5
  def setup
6
- DatabaseCleaner.start
7
-
8
- FileUtils.mkdir_p('tmp/ods')
6
+ FileUtils.mkdir_p(Rails.root.join('tmp/ods'))
9
7
 
10
8
  10.times.each do
11
9
  CustomPost.create(name: SecureRandom.hex, content: SecureRandom.hex, age: 2)
@@ -32,37 +30,36 @@ class OdsTest < ActiveSupport::TestCase
32
30
 
33
31
  def test_empty_model
34
32
  CustomPost.delete_all
35
- File.open('tmp/ods/empty_model.ods','w+b') do |f|
33
+ File.open(Rails.root.join('tmp/ods/empty_model.ods'),'w+b') do |f|
36
34
  f.write CustomPost.to_ods
37
35
  end
38
36
  end
39
37
 
40
38
  def test_empty_sa
41
- File.open('tmp/ods/empty_sa.ods','w+b') do |f|
39
+ File.open(Rails.root.join('tmp/ods/empty_sa.ods'),'w+b') do |f|
42
40
  f.write SpreadsheetArchitect.to_ods(data: [])
43
41
  end
44
42
  end
45
43
 
46
44
  def test_sa
47
- File.open('tmp/ods/sa.ods','w+b') do |f|
45
+ File.open(Rails.root.join('tmp/ods/sa.ods'),'w+b') do |f|
48
46
  f.write SpreadsheetArchitect.to_ods(headers: @headers, data: @data)
49
47
  end
50
48
  end
51
49
 
52
50
  def test_model
53
- File.open('tmp/ods/model.ods','w+b') do |f|
51
+ File.open(Rails.root.join('tmp/ods/model.ods'),'w+b') do |f|
54
52
  f.write CustomPost.to_ods
55
53
  end
56
54
  end
57
55
 
58
56
  def test_options
59
- File.open('tmp/ods/model_options.ods','w+b') do |f|
57
+ File.open(Rails.root.join('tmp/ods/model_options.ods'),'w+b') do |f|
60
58
  f.write CustomPost.to_ods(@options)
61
59
  end
62
60
  end
63
61
 
64
62
  def teardown
65
- DatabaseCleaner.clean
66
63
  end
67
64
 
68
65
  end
@@ -3,10 +3,8 @@ require "test_helper"
3
3
  class PlainRubyObjectTest < ActiveSupport::TestCase
4
4
 
5
5
  def setup
6
- @path = 'tmp/plain_ruby_object'
6
+ @path = Rails.root.join('tmp/plain_ruby_object')
7
7
  FileUtils.mkdir_p(@path)
8
-
9
- DatabaseCleaner.start
10
8
  end
11
9
 
12
10
  def test_csv
@@ -49,6 +47,5 @@ class PlainRubyObjectTest < ActiveSupport::TestCase
49
47
  end
50
48
 
51
49
  def teardown
52
- DatabaseCleaner.clean
53
50
  end
54
51
  end
@@ -3,10 +3,8 @@ require "test_helper"
3
3
  class PostTest < ActiveSupport::TestCase
4
4
 
5
5
  def setup
6
- @path = 'tmp/posts'
6
+ @path = Rails.root.join('tmp/posts')
7
7
  FileUtils.mkdir_p(@path)
8
-
9
- DatabaseCleaner.start
10
8
  end
11
9
 
12
10
  def test_csv
@@ -42,6 +40,5 @@ class PostTest < ActiveSupport::TestCase
42
40
  end
43
41
 
44
42
  def teardown
45
- DatabaseCleaner.clean
46
43
  end
47
44
  end
@@ -69,6 +69,5 @@ class SpreadsheetArchitectUtilsTest < ActiveSupport::TestCase
69
69
  end
70
70
 
71
71
  def teardown
72
- DatabaseCleaner.clean
73
72
  end
74
73
  end
@@ -13,25 +13,25 @@ class XlsxTest < ActiveSupport::TestCase
13
13
 
14
14
  def test_empty_model
15
15
  Post.delete_all
16
- File.open('tmp/empty_model.xlsx','w+b') do |f|
16
+ File.open(Rails.root.join('tmp/empty_model.xlsx'),'w+b') do |f|
17
17
  f.write Post.to_xlsx
18
18
  end
19
19
  end
20
20
 
21
21
  def test_empty_sa
22
- File.open('tmp/empty_sa.xlsx','w+b') do |f|
22
+ File.open(Rails.root.join('tmp/empty_sa.xlsx'),'w+b') do |f|
23
23
  f.write SpreadsheetArchitect.to_xlsx(data: [])
24
24
  end
25
25
  end
26
26
 
27
27
  def test_sa
28
- File.open('tmp/sa.xlsx','w+b') do |f|
28
+ File.open(Rails.root.join('tmp/sa.xlsx'),'w+b') do |f|
29
29
  f.write SpreadsheetArchitect.to_xlsx(headers: @headers, data: @data)
30
30
  end
31
31
  end
32
32
 
33
33
  def test_model
34
- File.open('tmp/model.xlsx','w+b') do |f|
34
+ File.open(Rails.root.join('tmp/model.xlsx'),'w+b') do |f|
35
35
  f.write Post.to_xlsx
36
36
  end
37
37
  end
@@ -58,7 +58,7 @@ class XlsxTest < ActiveSupport::TestCase
58
58
  {range: "B2:C4", styles: {background_color: "CCCCCC"}},
59
59
  {range: {rows: 1, columns: :all}, styles: {bold: true}},
60
60
  {range: {rows: (0..5), columns: (1..4)}, styles: {italic: true}},
61
- {range: {rows: :all, columns: (3..4)}, styles: {color: "FFFFFF"}}
61
+ {range: {rows: :all, columns: (3..4)}, styles: {color: "999999"}}
62
62
  ]
63
63
 
64
64
  borders = [
@@ -87,13 +87,12 @@ class XlsxTest < ActiveSupport::TestCase
87
87
  merges: merges
88
88
  })
89
89
 
90
- File.open('tmp/extreme.xlsx','w+b') do |f|
90
+ File.open(Rails.root.join('tmp/extreme.xlsx'),'w+b') do |f|
91
91
  f.write file_data
92
92
  end
93
93
  end
94
94
 
95
95
  def teardown
96
- DatabaseCleaner.clean
97
96
  end
98
97
 
99
98
  end
@@ -0,0 +1,11 @@
1
+ ### FOR GENERIC NON-RAILS TESTS
2
+
3
+ require 'test_helper'
4
+
5
+ class SpreadsheetArchitectTest < ActiveSupport::TestCase
6
+
7
+ test "config" do
8
+ assert true
9
+ end
10
+
11
+ end
@@ -0,0 +1,35 @@
1
+ ENV["RAILS_ENV"] = "test"
2
+
3
+ require File.expand_path("../dummy_app/config/environment.rb", __FILE__)
4
+
5
+ migration_path = Rails.root.join('db/migrate')
6
+ if ActiveRecord.gem_version >= ::Gem::Version.new("5.2.0")
7
+ ActiveRecord::MigrationContext.new(migration_path).migrate
8
+ else
9
+ ActiveRecord::Migrator.migrate(migration_path)
10
+ end
11
+
12
+ require "rails/test_help"
13
+
14
+ Rails.backtrace_cleaner.remove_silencers!
15
+
16
+ class ActiveSupport::TestCase
17
+ # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
18
+ fixtures :all
19
+ end
20
+
21
+ require 'minitest/reporters'
22
+ Minitest::Reporters.use!
23
+
24
+ require 'custom_assertions'
25
+
26
+ ### Cleanup old test spreadsheets
27
+ FileUtils.remove_dir(Rails.root.join('tmp/'), true)
28
+ FileUtils.mkdir(Rails.root.join('tmp/'))
29
+
30
+ post_count = Post.count
31
+ if post_count < 5
32
+ (5 - post_count).times do |i|
33
+ Post.create!(name: "foo #{i}", content: "bar #{i}", age: i)
34
+ end
35
+ end