inline_translation 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 53cc9b45fed24636013c2424b96e2660bc225e03
4
- data.tar.gz: 281e7519500a96ca6d8d45574c9b1c65b3e85da0
3
+ metadata.gz: 1712a04eec4217093462a4e8ce98265646adf6d5
4
+ data.tar.gz: 03182eb9ece86002f1334fdd89c4cba98e4f760b
5
5
  SHA512:
6
- metadata.gz: 031e8bed2799e0e519dc759a468bfe016aae4680cda3648d5ebe69ad46b96fbfeb08eafb25bacab3489748b432b33043cce51626b4eda68aebfcc6eb6e062db1
7
- data.tar.gz: b34f21a4917721af118d9a3eb924094957b48682a888f819646bd7e7313e9e94e10a9125bca2d67ab50d0a88e893a3157fffb15c125a343aee4c9e09b4b29878
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 JS" do
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: :js
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['translations']['column1'], translation_result[:column1]
27
- assert_equal json['translations']['column2'], translation_result[:column2]
28
- assert_equal json['translatable_id'], translatable.id.to_s
29
- assert_equal json['translatable_type'], 'ControllerModel'
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 JSON" do
33
- InlineTranslation.stubs(:ready?).returns(true)
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
- post :create, translatable_type: "ControllerModel", translatable_id: translatable.id, format: :json
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 /InlineTranslation-translated/, translated_element_for(model, :column1)
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.1
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-08 00:00:00.000000000 Z
11
+ date: 2015-08-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bing_translator