awesome_translations 0.0.32 → 0.0.33

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/awesome_translations/caches_controller.rb +6 -1
  3. data/app/controllers/awesome_translations/duplicates_controller.rb +29 -0
  4. data/app/controllers/awesome_translations/movals_controller.rb +21 -0
  5. data/app/views/awesome_translations/caches/index.html.haml +2 -1
  6. data/app/views/awesome_translations/duplicates/index.html.haml +29 -0
  7. data/app/views/awesome_translations/movals/index.html.haml +29 -0
  8. data/app/views/layouts/awesome_translations/application.html.haml +2 -0
  9. data/config/routes.rb +2 -0
  10. data/lib/awesome_translations/cache_database_generator.rb +5 -5
  11. data/lib/awesome_translations/handlers/model_handler.rb +1 -1
  12. data/lib/awesome_translations/handlers/validations_handler.rb +1 -1
  13. data/lib/awesome_translations/model_inspector.rb +2 -2
  14. data/lib/awesome_translations/version.rb +1 -1
  15. data/spec/controllers/groups_controller_spec.rb +2 -0
  16. data/spec/controllers/handlers_controller_spec.rb +2 -0
  17. data/spec/dummy/db/awesome_translations.sqlite3 +0 -0
  18. data/spec/dummy/db/test.sqlite3 +0 -0
  19. data/spec/dummy/log/test.log +2296 -0
  20. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-9/-9LnoNK9_y7lZLswQisHkJ2UgRiThUygUF2k-lwJ_ls.cache +0 -0
  21. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-B/-BKq0W2BrZtpzQ_AE6U0cNZfVZAiBBtKj_54o3fKXEE.cache +0 -0
  22. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-Y/-Y3C8keVTswdKKypfBu8DNrVjeqTFF_sFb6u-NwErI8.cache +1 -0
  23. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-p/-p3cUMoKfAtCO4qhqFWot4duazbb5AAtCB0KlGme16I.cache +1 -0
  24. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/19/19Hk4VAOmqXJVFnvyzbx9dA_zxm1HbytI8Fp2cZVvDk.cache +1 -0
  25. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1H/1HSFdFAOn53CeKbEGRdZ5UtXV3IGwvOFkn9npTFHybA.cache +1 -0
  26. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3B/3B8xzbg9yQEKPjOULkIqMtG6onClrStqkEtYgXBIbuM.cache +1 -0
  27. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3Q/3QYJAti0uTWor5HsmsgVH7ULKl1iLk80hEpE1rQIs9U.cache +0 -0
  28. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4t/4tXPPRakNbNKRZi-N2Sbt9rkbKHtAcI2R9DbAbzdqWM.cache +0 -0
  29. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5F/5FD4AksGQhYND3dvD8L0Gav_KBdx1j_BsfP20M5gNjY.cache +0 -0
  30. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/70/703d9CW69pLOmWsMchfCwapMHEt_DMws2YORSoB7zlA.cache +0 -0
  31. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/BY/BY_wSbbC_Vf_v5VdeWtVUoCjVrio_SFPp86IjJhxxUk.cache +1 -0
  32. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Bt/Bt4RThqxXfldop-keF3zwyhIABv5l7kfH0SveZ5qS-k.cache +2 -0
  33. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/CR/CR97dbTXkOfoCG4HW-piGw2YJrH5r6cDW9pQQ4dg1VU.cache +1 -0
  34. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Cl/CLskmtO-Ca-0Cs3s7u4oPD_NoVhPDHP7-85p7JJ1rZM.cache +0 -0
  35. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Dv/Dv6j8yp3M2FlO0yJc5dQq_ZkH64Uv2RMIC1QlVTW2_M.cache +0 -0
  36. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HM/HMF09E3WMjUQwNfgW97hIhQkDkER_FrvanmLa08YKt0.cache +2 -0
  37. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ha/HaZccLN5AD27b6lFWtT2q7943SEik5AwcdGAy8fwEq4.cache +2 -0
  38. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ja/ja8HgAiXRpYEw3hZqTluVSiromVWlcNSnahmFbcTdSM.cache +1 -0
  39. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Je/jei9tDgw3VZMP_0-gt2LhicjEiKuYIUO0A8P4aiFXEU.cache +0 -0
  40. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Jf/Jfm5Xfq6MeP2KSFiyzntYlL-ikiSONPr-AO1PTKAuSg.cache +0 -0
  41. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Jf/jfP6aNmLJuMJNBykxNzpNDB4j4cmW5egtXP-P9CyaD8.cache +0 -0
  42. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/MJ/MJRrJqYi45rqCa5G91QHbQpnDJw6j3O7PUqtFLi-pT8.cache +0 -0
  43. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/N6/N61Og0RuofmkMqxgtA1Ss0Psb72-Qsh-70mbQkyp-iM.cache +1 -0
  44. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/NM/NMNrcdzemgns1v1ue3rLEGBjL_agJSG8hH9LkyCTadM.cache +0 -0
  45. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OO/OOJmA0X6E4PFfEk0JyWz0NVUyqmrh1gYUS0Cnxl0NOk.cache +0 -0
  46. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Q0/Q0fP0TvloushTGRrWv8TmgmLUQZrhm5KjSSEBXRBn9A.cache +1 -0
  47. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Qy/QyUJtF-jqPNZi4zRMzWvHRTbp2_P6agh9LRdOsKO3co.cache +0 -0
  48. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/RW/RWEgVffi5DVbeDudwWLbresUzfti_g_hYISQKcSVl2s.cache +1 -0
  49. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/St/St24JHB50WNjkvhZzxV6AeT4KD0nAB3Hiwx5qXPCTTs.cache +1 -0
  50. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/TS/TSQTpLVMUDhzBO8yin5A90dOEI_Lwa3_PLlIYIv6biU.cache +1 -0
  51. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/WW/WWIR79wBPYmAzmg31e_DrbXuw1jhhaT0pFGheXfdQyA.cache +0 -0
  52. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/XD/Xd43MJCo2eXbVv9ygbOZLJmgOTEgaxTHlHE-WbU6vn8.cache +0 -0
  53. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/XV/XVISq-1bbtJ5ASCGpBJiGNj66H4TK-2x9eDW_pcStq4.cache +2 -0
  54. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/YG/YGZWmzflAg_kBxwD40tFjxBiHAvFMLGFhMYk6Wkhv3I.cache +0 -0
  55. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_i/_IONxRST3o6Se0O_b9tNGR6rZVzRzPJYt86WqKH1gxY.cache +1 -0
  56. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ab/abSllpWlxGsHh9lHo3G4K2DfkwhlJlfP-p-iKiT_Vso.cache +1 -0
  57. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ai/aiSouQuuKIy1EGEU-2-e5jrjNOqiEUNFtpkDecUTHUU.cache +0 -0
  58. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/c4/c4m8hAZBCmtA5pymNy9QejmDenSOB24jdvzAo7kn1No.cache +0 -0
  59. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/d0/d0OkLJGmrabnrAVdoIthxFicjy51qSzTg_UNNEQi9t8.cache +1 -0
  60. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/eA/EAB1wtjFRuekAAPsCRwnZx1mxL7zMPfRFjE-vv26zUQ.cache +0 -0
  61. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/eJ/eJFaq3PdWBMT1xIayptRJuyqV-pgt13dD-uws6ythAM.cache +1 -0
  62. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/eP/EpHctXUYwSF9W5-BCIWGkigoRvEPkFLBsfnAt7LVpYs.cache +1 -0
  63. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gG/ggs463RsDbUq_iJuW2u4FQ9BIEE9R3d-W7LauwOgETc.cache +0 -0
  64. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ho/hOrS6tCHlhfMwq4dxfhN4ruOFOQ6bWpGILEhXXGBtcM.cache +1 -0
  65. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ho/hOzUf9VSzh9Bbs8ljChE_H3ULDtfluiT596gWUMXsxM.cache +0 -0
  66. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/m7/m7C9CA-_VVI07nclz_DyfD3vo8BjFfpYBOQj825rs9A.cache +1 -0
  67. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oZ/oZa6FRbtMu9kIy-lo1Jotljy4bdeEi6BADWRNGyXDG4.cache +0 -0
  68. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uV/UVZyjPowI1lA18OvTbTrBh1tS1fQyvqA1woAJX8hjQk.cache +1 -0
  69. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uX/uxaSF3JGDasF80jdtxkBX7Mc6W9RJb0zwYvrcavDrBc.cache +0 -0
  70. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wB/wBIjefZgzT0CLWoBTYVL2KnLSo8GFSTE--q-Qou6SrU.cache +0 -0
  71. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yO/yOpbZmjzfNHluAhueDoeqOHQMKsyOShfeyzXTLXyOKo.cache +0 -0
  72. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/z-/z-wHmkAsx-4iceiCZ6GlLIg72izN6zW1Sp_8sYaX6RU.cache +0 -0
  73. data/spec/features/duplicates_spec.rb +51 -0
  74. data/spec/features/movals_spec.rb +54 -0
  75. data/spec/lib/cache_database_generator_spec.rb +1 -1
  76. data/spec/spec_helper.rb +6 -3
  77. metadata +104 -8
@@ -0,0 +1 @@
1
+ I"�/Users/kaspernj/Dev/Rails/awesome_translations/app/assets/javascripts/awesome_translations/bootstrap.min.js?type=application/javascript&pipeline=self&id=9c40f00a5f19b2e6e83c44b0c3492c1634138132087439a0911a0d4ce9fb0b8e:ET
@@ -0,0 +1 @@
1
+ I"�app/assets/javascripts/application.js?type=application/javascript&pipeline=self&id=a9d619638d8e97d90442238ce2cdd74ed043c514c3964f24ad5332dc2720ac82:ET
@@ -0,0 +1 @@
1
+ I"�/Users/kaspernj/Dev/Rails/awesome_translations/app/assets/stylesheets/awesome_translations/application.scss?type=text/css&pipeline=self&id=2000fc8c0ad24425b752b9710b6d5d0b8f4c34e93edd5300b2efa34018d1efa2:ET
@@ -0,0 +1 @@
1
+ I"�/Users/kaspernj/.rvm/gems/ruby-2.1.2/gems/bootstrap_builders-0.0.10/app/assets/stylesheets/bootstrap_builders/application.css?type=text/css&id=605404a325b913715165580f766af4be810a4b783bdba97eb7ea76c55d59bb73:ET
@@ -0,0 +1 @@
1
+ I"�/Users/kaspernj/.rvm/gems/ruby-2.1.2/gems/jquery-rails-4.1.1/vendor/assets/javascripts/jquery_ujs.js?type=application/javascript&pipeline=self&id=c0f33a1a7e3e2fd6a2f3d02bfef9b9a5d9c92d9bb7f6ee1fff354ac24071c626:ET
@@ -0,0 +1 @@
1
+ I"�/Users/kaspernj/Dev/Rails/awesome_translations/app/assets/javascripts/awesome_translations/application.js.coffee?type=application/javascript&id=d9246a7fdbf3a22ad3531ca142554e890ed0d0d020eeaaa5b15680eb9ae4ed5c:ET
@@ -0,0 +1,2 @@
1
+ [o:Set:
2
+ @hash{ I"environment-version:ETTI"environment-paths;TTI"rails-env;TTI">processors:type=text/css&file_type=text/css&pipeline=self;TTI"�file-digest:///Users/kaspernj/.rvm/gems/ruby-2.1.2/gems/bootstrap_builders-0.0.10/app/assets/stylesheets/bootstrap_builders/application.css;TTI"{file-digest:///Users/kaspernj/.rvm/gems/ruby-2.1.2/gems/bootstrap_builders-0.0.10/app/assets/stylesheets/bootstrap_builders;TT
@@ -0,0 +1 @@
1
+ I"�/Users/kaspernj/.rvm/gems/ruby-2.1.2/gems/bootstrap_builders-0.0.10/app/assets/javascripts/bootstrap_builders/application.js?type=application/javascript&id=44954943d2c5fbcd350be0be365657309b7798b34e586ae4d89aa24ebe4e2e1a:ET
@@ -0,0 +1,2 @@
1
+ [o:Set:
2
+ @hash{ I"environment-version:ETTI"environment-paths;TTI"rails-env;TTI"Zprocessors:type=application/javascript&file_type=application/javascript&pipeline=self;TTI"�file-digest:///Users/kaspernj/.rvm/gems/ruby-2.1.2/gems/bootstrap_builders-0.0.10/app/assets/javascripts/bootstrap_builders/application.js;TTI"{file-digest:///Users/kaspernj/.rvm/gems/ruby-2.1.2/gems/bootstrap_builders-0.0.10/app/assets/javascripts/bootstrap_builders;TT
@@ -0,0 +1,2 @@
1
+ [o:Set:
2
+ @hash{ I"environment-version:ETTI"environment-paths;TTI"rails-env;TTI"0processors:type=text/css&file_type=text/css;TTI"�file-digest:///Users/kaspernj/.rvm/gems/ruby-2.1.2/gems/bootstrap_builders-0.0.10/app/assets/stylesheets/bootstrap_builders/application.css;TTI">processors:type=text/css&file_type=text/css&pipeline=self;TTI"{file-digest:///Users/kaspernj/.rvm/gems/ruby-2.1.2/gems/bootstrap_builders-0.0.10/app/assets/stylesheets/bootstrap_builders;TT
@@ -0,0 +1 @@
1
+ I"}app/assets/stylesheets/application.css?type=text/css&id=06d37fd6f18361fa41f7dad8521baa59d1243c8d5d65351b8d0d89c1bdfd779c:ET
@@ -0,0 +1 @@
1
+ I"�/Users/kaspernj/.rvm/gems/ruby-2.1.2/gems/bootstrap_builders-0.0.10/app/assets/javascripts/bootstrap_builders/application.js?type=application/javascript&pipeline=self&id=ff8746817e49916d60f5046d19838fa8497f1fe57a3253839e2d2e101a727082:ET
@@ -0,0 +1 @@
1
+ I"�/Users/kaspernj/Dev/Rails/awesome_translations/app/assets/javascripts/awesome_translations/application.js.coffee?type=application/javascript&pipeline=self&id=4b117bd9fe02b33c308950f7de4335f1828abe171fcd802cb38e86a15f88c33e:ET
@@ -0,0 +1 @@
1
+ "%��Rm�v�S3.��O�L���ڹc�ƕq�=_j�
@@ -0,0 +1 @@
1
+ I"�app/assets/stylesheets/application.css?type=text/css&pipeline=self&id=af62afe09acc443317b3095ec29ef9a39c72d75dc70498e39c92eb59997617fc:ET
@@ -0,0 +1 @@
1
+ I"�/Users/kaspernj/.rvm/gems/ruby-2.1.2/gems/bootstrap_builders-0.0.10/app/assets/stylesheets/bootstrap_builders/application.css?type=text/css&pipeline=self&id=81ed57af6bef94b5858a445bd745a35e5e9672ff6136babfb4900e114bf98fea:ET
@@ -0,0 +1,2 @@
1
+ [o:Set:
2
+ @hash{ I"environment-version:ETTI"environment-paths;TTI"rails-env;TTI"Lprocessors:type=application/javascript&file_type=application/javascript;TTI"�file-digest:///Users/kaspernj/.rvm/gems/ruby-2.1.2/gems/bootstrap_builders-0.0.10/app/assets/javascripts/bootstrap_builders/application.js;TTI"Zprocessors:type=application/javascript&file_type=application/javascript&pipeline=self;TTI"{file-digest:///Users/kaspernj/.rvm/gems/ruby-2.1.2/gems/bootstrap_builders-0.0.10/app/assets/javascripts/bootstrap_builders;TT
@@ -0,0 +1 @@
1
+ I"�/Users/kaspernj/Dev/Rails/awesome_translations/app/assets/stylesheets/awesome_translations/font-awesome/font-awesome.min.css?type=text/css&pipeline=self&id=d31d6d6e809353acffa2c0ad9bc7d75667f335d0f738ed754f0f897fb77e7410:ET
@@ -0,0 +1 @@
1
+ I"�/Users/kaspernj/.rvm/gems/ruby-2.1.2/gems/jquery-rails-4.1.1/vendor/assets/javascripts/jquery.js?type=application/javascript&pipeline=self&id=0573ad93ab67f20bf182352f7a0afddb319c1b8126614797d4382b5e46c9dbcc:ET
@@ -0,0 +1 @@
1
+ I"�/Users/kaspernj/Dev/Rails/awesome_translations/app/assets/stylesheets/awesome_translations/bootstrap_and_overrides.scss?type=text/css&pipeline=self&id=28bfed7bcef9282fafb0ed57bae71ce3c9781b676d3dd74c4521cae01b2166af:ET
@@ -0,0 +1 @@
1
+ I"�/Users/kaspernj/Dev/Rails/awesome_translations/app/assets/stylesheets/awesome_translations/groups.scss?type=text/css&pipeline=self&id=03339f4470479f2d6db88c0ab6e10131870fcbdaab820b2ff11ce8acf41ac6be:ET
@@ -0,0 +1 @@
1
+ "%�W\�yho9S���ƫ˥��)|�~���(���
@@ -0,0 +1 @@
1
+ I"�app/assets/javascripts/application.js?type=application/javascript&id=b925c3b0ae7cd6a99ff9f05e07292b373559ed6e72bd6070b46a5649c74b04e5:ET
@@ -0,0 +1 @@
1
+ I"�/Users/kaspernj/Dev/Rails/awesome_translations/app/assets/stylesheets/awesome_translations/application.scss?type=text/css&id=2fc11e5c36c5547ebbb255c9091ea4ee9a943cd3030f1c528afbedd70dbb6a45:ET
@@ -0,0 +1 @@
1
+ "%Ѱč@�����6H�uZoX�Z�gbh0W��V
@@ -0,0 +1,51 @@
1
+ require "spec_helper"
2
+
3
+ describe AwesomeTranslations::DuplicatesController do
4
+ let!(:handler_translation) { create :handler_translation, translation_key: translation_key, dir: Rails.root.join("config", "locales", "some", "right", "path") }
5
+ let!(:translation_key) { create :translation_key, key: "some.key" }
6
+ let!(:translation_value) { create :translation_value, translation_key: translation_key, file_path: Rails.root.join("config", "locales", "some", "right", "path", "en.yml") }
7
+ let!(:translation_value_duplicate) { create :translation_value, translation_key: translation_key, file_path: Rails.root.join("config", "locales", "some", "wrong", "path", "en.yml") }
8
+
9
+ before do
10
+ dir_path = File.dirname(translation_value_duplicate.file_path)
11
+ FileUtils.mkdir_p(dir_path) unless File.exist?(dir_path)
12
+
13
+ translation_yaml = {
14
+ "en" => {
15
+ "some" => {
16
+ "key" => "translation"
17
+ }
18
+ }
19
+ }
20
+
21
+ File.open(translation_value_duplicate.file_path, "w") do |fp|
22
+ fp.write(YAML.dump(translation_yaml))
23
+ end
24
+ end
25
+
26
+ describe "#index" do
27
+ it "renders the page and shows the correct duplicates" do
28
+ visit duplicates_path
29
+
30
+ expect(page).to have_http_status(:success)
31
+ expect(current_path).to eq duplicates_path
32
+
33
+ find("input[type=checkbox][name='d[#{translation_value_duplicate.id}]']")
34
+
35
+ expect do
36
+ find("input[type=checkbox][name='d[#{translation_value.id}]']")
37
+ end.to raise_error(Capybara::ElementNotFound)
38
+ end
39
+ end
40
+
41
+ describe "#create" do
42
+ it "removes the checked translations" do
43
+ visit duplicates_path
44
+
45
+ find("input[type=submit]").click
46
+
47
+ expect(File.exist?(translation_value_duplicate.file_path)).to eq false
48
+ expect { translation_value_duplicate.reload }.to raise_error(BazaModels::Errors::RecordNotFound)
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,54 @@
1
+ require "spec_helper"
2
+
3
+ describe AwesomeTranslations::MovalsController do
4
+ let!(:handler_translation) { create :handler_translation, translation_key: translation_key, dir: Rails.root.join("config", "locales", "some", "right", "path") }
5
+ let!(:translation_key) { create :translation_key, key: "some.key" }
6
+ let!(:translation_value) { create :translation_value, translation_key: translation_key, file_path: Rails.root.join("config", "locales", "some", "wrong", "path", "en.yml") }
7
+
8
+ let!(:handler_translation_right_path) { create :handler_translation, translation_key: translation_key_right_path, dir: "/some/path" }
9
+ let!(:translation_key_right_path) { create :translation_key, key: "some.right.key" }
10
+ let!(:translation_value_right_path) { create :translation_value, translation_key: translation_key_right_path, file_path: "/some/path/en.yml" }
11
+
12
+ before do
13
+ dir_path = File.dirname(translation_value.file_path)
14
+ FileUtils.mkdir_p(dir_path) unless File.exist?(dir_path)
15
+
16
+ translation_yaml = {
17
+ "en" => {
18
+ "some" => {
19
+ "key" => "translation"
20
+ }
21
+ }
22
+ }
23
+
24
+ File.open(translation_value.file_path, "w") do |fp|
25
+ fp.write(YAML.dump(translation_yaml))
26
+ end
27
+ end
28
+
29
+ describe "#index" do
30
+ it "renders the page and shows the correct results" do
31
+ visit movals_path
32
+
33
+ expect(page).to have_http_status(:success)
34
+ expect(current_path).to eq movals_path
35
+
36
+ find("input[type=checkbox][value='#{handler_translation.id}']") # Expect to find
37
+
38
+ expect do
39
+ find("input[type=checkbox][value='#{handler_translation_right_path.id}']")
40
+ end.to raise_error(Capybara::ElementNotFound)
41
+ end
42
+ end
43
+
44
+ describe "#create" do
45
+ it "moves the checked translations to the right path" do
46
+ visit movals_path
47
+
48
+ find("input[type=submit]").click
49
+ translation_value.reload
50
+
51
+ expect(translation_value.file_path).to eq Rails.root.join("config", "locales", "some", "right", "path", "en.yml").to_s
52
+ end
53
+ end
54
+ end
@@ -34,7 +34,7 @@ describe AwesomeTranslations::CacheDatabaseGenerator do
34
34
 
35
35
  describe "#cache_translations" do
36
36
  it "#cache_yml_translations" do
37
- cache_database_generator.cache_yml_translations
37
+ cache_database_generator.cache_translations
38
38
 
39
39
  translation = AwesomeTranslations::CacheDatabaseGenerator::HandlerTranslation
40
40
  .joins(:translation_key)
data/spec/spec_helper.rb CHANGED
@@ -6,6 +6,7 @@ ENV["RAILS_ENV"] ||= "test"
6
6
  require_relative "dummy/config/environment"
7
7
 
8
8
  require "rspec/rails"
9
+ require "baza_models"
9
10
  require "database_cleaner"
10
11
  require "capybara"
11
12
  require "capybara-webkit"
@@ -44,8 +45,13 @@ RSpec.configure do |config|
44
45
 
45
46
  config.before(:each) do
46
47
  Capybara.reset_sessions!
48
+
47
49
  DatabaseCleaner.strategy = :transaction
48
50
  DatabaseCleaner.start
51
+
52
+ AwesomeTranslations::CacheDatabaseGenerator.current.init_database
53
+
54
+ BazaModels::TestDatabaseCleaner.clean
49
55
  end
50
56
 
51
57
  config.before(:each, js: true) do
@@ -58,9 +64,6 @@ RSpec.configure do |config|
58
64
 
59
65
  config.before do
60
66
  I18n.load_path.delete_if { |path| !File.exist?(path) }
61
-
62
- generator = AwesomeTranslations::CacheDatabaseGenerator.current
63
- generator.init_database
64
67
  end
65
68
 
66
69
  config.after do