spreadsheet_architect 2.0.2 → 2.1.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.
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