inline_translation 0.0.1 → 0.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.
- checksums.yaml +4 -4
- data/test/babbel_integration_test.rb +6 -1
- data/test/lib/controllers/translations_controller_test.rb +18 -12
- data/test/lib/generators/babbel_generator_install_test.rb +5 -0
- data/test/lib/helpers/translations_helper_test.rb +1 -1
- data/test/lib/services/translation_service_test.rb +0 -12
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1712a04eec4217093462a4e8ce98265646adf6d5
|
4
|
+
data.tar.gz: 03182eb9ece86002f1334fdd89c4cba98e4f760b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6d18f77ae8291f105db60da48524990b5566c7038bb92402a16d166e0618618dc97fcc054d41fceffe6de15dbfc26362354c1a9e0f31d973205b1f53e873180b
|
7
|
+
data.tar.gz: df2bcc2e4a0f4e8d399598d9ce316d31ecab1ab519a14a0a7dd7c9ac36a3c231b6816c6d8d0b8584a886505fc7a7398b8b776d03a6ab4a04c95e7bcd2d665057
|
@@ -14,7 +14,7 @@ class InlineTranslationIntegrationTest < IntegrationTest
|
|
14
14
|
|
15
15
|
describe "creating translations" do
|
16
16
|
it "can create translations" do
|
17
|
-
post :create, translatable_type: "IntegrationModel", translatable_id: model.id, to: :fr
|
17
|
+
post :create, translatable_type: "IntegrationModel", translatable_id: model.id, to: :fr, format: :json
|
18
18
|
|
19
19
|
created = Translation.where(translatable_type: "IntegrationModel")
|
20
20
|
|
@@ -23,6 +23,11 @@ class InlineTranslationIntegrationTest < IntegrationTest
|
|
23
23
|
assert_equal created.where(translatable_type: "IntegrationModel").size, 2
|
24
24
|
assert_equal created.where(translation: "this is a translation").size, 1
|
25
25
|
assert_equal created.where(translation: "this is another translation").size, 1
|
26
|
+
|
27
|
+
|
28
|
+
before_count = Translation.count
|
29
|
+
post :create, translatable_type: "IntegrationModel", translatable_id: model.id, to: :fr, format: :json
|
30
|
+
assert_equal Translation.count, before_count
|
26
31
|
end
|
27
32
|
end
|
28
33
|
end
|
@@ -14,41 +14,47 @@ class TranslationsControllerTest < ControllerTest
|
|
14
14
|
end
|
15
15
|
|
16
16
|
describe "POST create" do
|
17
|
-
it "returns the translation for successful translation for
|
17
|
+
it "returns the translation for successful translation for JSON" do
|
18
18
|
InlineTranslation.stubs(:ready?).returns(true)
|
19
19
|
InlineTranslation::Translators::Null.any_instance.stubs(:can_translate?).returns(true)
|
20
20
|
InlineTranslation::Translators::Null.any_instance.stubs(:translate).returns("A translation!")
|
21
|
-
post :create, translatable_type: "ControllerModel", translatable_id: translatable.id, format: :
|
21
|
+
post :create, translatable_type: "ControllerModel", translatable_id: translatable.id, format: :json
|
22
22
|
|
23
23
|
assert_equal response.status, 200
|
24
24
|
json = JSON.parse(response.body)
|
25
25
|
|
26
|
-
assert_equal json
|
27
|
-
|
28
|
-
|
29
|
-
|
26
|
+
assert_equal json.length, translatable.translations.size
|
27
|
+
fields = json.map { |t| t['field'] }
|
28
|
+
translatable_ids = json.map { |t| t['translatable_id'] }
|
29
|
+
translatable_types = json.map { |t| t['translatable_type'] }
|
30
|
+
|
31
|
+
assert_includes fields, 'column1'
|
32
|
+
assert_includes fields, 'column2'
|
33
|
+
assert_includes translatable_ids, translatable.id
|
34
|
+
assert_includes translatable_types, 'ControllerModel'
|
30
35
|
end
|
31
36
|
|
32
|
-
it "returns the translation for successful translation for
|
33
|
-
|
37
|
+
it "returns the translation for successful translation for JS" do
|
38
|
+
# TODO: stub out the call to render, which errors because we don't have a translations#create view
|
39
|
+
skip "Stub out render call so there's no 'cannot find translations#create view' error"
|
34
40
|
InlineTranslation::Translators::Null.any_instance.stubs(:can_translate?).returns(true)
|
35
41
|
InlineTranslation::Translators::Null.any_instance.stubs(:translate).returns("A translation!")
|
36
|
-
|
42
|
+
ActionView::Renderer.any_instance.stubs(:render).with('translations/create').returns('wark')
|
43
|
+
post :create, translatable_type: "ControllerModel", translatable_id: translatable.id, format: :js
|
37
44
|
|
38
45
|
assert_equal response.status, 200
|
39
|
-
assert_template 'translations/create'
|
40
46
|
end
|
41
47
|
|
42
48
|
|
43
49
|
it "returns unprocessable entity for unsuccessful translation" do
|
44
50
|
InlineTranslation::Services::TranslationService.any_instance.stubs(:translate).returns(false)
|
45
|
-
post :create, translatable_type: "ControllerModel", translatable_id: translatable.id
|
51
|
+
post :create, translatable_type: "ControllerModel", translatable_id: translatable.id, format: :json
|
46
52
|
assert_equal response.status, 422
|
47
53
|
end
|
48
54
|
|
49
55
|
it "returns unprocessable entity when translatable_type is not defined" do
|
50
56
|
InlineTranslation::Services::TranslationService.any_instance.stubs(:translate).returns(false)
|
51
|
-
post :create
|
57
|
+
post :create, format: :json
|
52
58
|
assert_equal response.status, 422
|
53
59
|
end
|
54
60
|
end
|
@@ -14,4 +14,9 @@ class InlineTranslationGeneratorInstallTest < Rails::Generators::TestCase
|
|
14
14
|
run_generator
|
15
15
|
assert_file "config/initializers/inline_translation.rb"
|
16
16
|
end
|
17
|
+
|
18
|
+
test "generates a create js view file" do
|
19
|
+
run_generator
|
20
|
+
assert_file "app/views/translations/create.js.erb"
|
21
|
+
end
|
17
22
|
end
|
@@ -50,7 +50,7 @@ class TranslationsHelperTest < UnitTest
|
|
50
50
|
end
|
51
51
|
|
52
52
|
it "returns a span with a InlineTranslation class" do
|
53
|
-
assert_match /
|
53
|
+
assert_match /inline-translation-translated/, translated_element_for(model, :column1)
|
54
54
|
end
|
55
55
|
|
56
56
|
it "accepts an element parameter" do
|
@@ -34,18 +34,6 @@ class InlineTranslationTranslationServiceTest < UnitTest
|
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
|
-
describe "translations_for" do
|
38
|
-
it "returns the translations for a given translatable" do
|
39
|
-
translatable.save
|
40
|
-
translatable.translations.create field: :column1, translation: 'Bon oui!', language: :fr
|
41
|
-
translatable.translations.create field: :column2, translation: 'Mon ser!', language: :fr
|
42
|
-
result = service.translations_for(translatable, to: :fr)
|
43
|
-
translatable.translations.each do |translation|
|
44
|
-
assert_equal result[translation.field], translation.translation
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
37
|
describe "translate" do
|
50
38
|
it "returns the results of translate!" do
|
51
39
|
service.stubs(:translate!).returns("translation result")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: inline_translation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Kiesel (gdpelican)
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bing_translator
|