rails_admin_content_builder 1.0.4 → 1.0.5

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 (67) hide show
  1. checksums.yaml +4 -4
  2. data/.coveralls.yml +1 -0
  3. data/.gitignore +1 -1
  4. data/.rubocop.yml +10 -0
  5. data/Gemfile +2 -1
  6. data/README.md +12 -1
  7. data/Rakefile +7 -7
  8. data/app/assets/images/cb-snippet-image-text.jpg +0 -0
  9. data/app/assets/images/cb-snippet-image-text.psd +0 -0
  10. data/app/assets/images/cb-snippet-image.jpg +0 -0
  11. data/app/assets/images/cb-snippet-image.psd +0 -0
  12. data/app/assets/images/cb-snippet-quote-text.jpg +0 -0
  13. data/app/assets/images/cb-snippet-quote-text.psd +0 -0
  14. data/app/assets/images/cb-snippet-quote.jpg +0 -0
  15. data/app/assets/images/cb-snippet-quote.psd +0 -0
  16. data/app/assets/images/cb-snippet-relational-text.jpg +0 -0
  17. data/app/assets/images/cb-snippet-relational-text.psd +0 -0
  18. data/app/assets/images/cb-snippet-text-image.jpg +0 -0
  19. data/app/assets/images/cb-snippet-text-image.psd +0 -0
  20. data/app/assets/images/cb-snippet-text-quote.jpg +0 -0
  21. data/app/assets/images/cb-snippet-text-quote.psd +0 -0
  22. data/app/assets/images/cb-snippet-text-relational.jpg +0 -0
  23. data/app/assets/images/cb-snippet-text-relational.psd +0 -0
  24. data/app/assets/images/cb-snippet-text.jpg +0 -0
  25. data/app/assets/images/cb-snippet-text.psd +0 -0
  26. data/app/assets/images/cb-snippet-video.jpg +0 -0
  27. data/app/assets/images/cb-snippet-video.psd +0 -0
  28. data/app/assets/javascripts/rails_admin/content_builder.js.erb +27 -20
  29. data/app/assets/stylesheets/rails_admin/content_builder.scss +174 -81
  30. data/app/controllers/rails_admin_content_builder/content_builder_controller.rb +7 -9
  31. data/app/helpers/rails_admin_content_builder/content_builder_helpers.rb +9 -3
  32. data/app/models/rails_admin_content_builder/content_builder.rb +21 -5
  33. data/app/views/rails_admin/main/content_builder.html.erb +3 -3
  34. data/bin/console +3 -3
  35. data/config/initializers/assets.rb +13 -13
  36. data/config/locales/content_builder.en.yml +4 -0
  37. data/config/locales/content_builder.pt-BR.yml +4 -0
  38. data/config/routes.rb +6 -6
  39. data/lib/generators/rails_admin_content_builder_generator.rb +17 -9
  40. data/lib/generators/templates/content_builder_image_uploader.rb +3 -13
  41. data/lib/rails_admin_content_builder.rb +3 -3
  42. data/lib/rails_admin_content_builder/engine.rb +1 -1
  43. data/lib/rails_admin_content_builder/version.rb +1 -1
  44. data/rails_admin_content_builder.gemspec +22 -20
  45. data/screenshot/image1.png +0 -0
  46. data/spec/controllers/rails_admin_content_builder/content_builder_controller_spec.rb +41 -5
  47. data/spec/dummy/Gemfile +0 -1
  48. data/spec/dummy/app/uploaders/content_builder_image_uploader.rb +2 -3
  49. data/spec/dummy/bin/setup +8 -8
  50. data/spec/dummy/config/application.rb +7 -7
  51. data/spec/dummy/config/initializers/rails_admin.rb +0 -1
  52. data/spec/dummy/config/initializers/simple_form.rb +1 -1
  53. data/spec/dummy/db/schema.rb +23 -25
  54. data/spec/factories/content_builder_categories.rb +2 -1
  55. data/spec/factories/content_builder_images.rb +7 -2
  56. data/spec/features/create_content_builder_category_spec.rb +4 -3
  57. data/spec/features/create_content_builder_spec.rb +5 -4
  58. data/spec/features/status_content_builder_spec.rb +8 -5
  59. data/spec/helpers/rails_admin_content_builder/content_builder_helper_spec.rb +15 -12
  60. data/spec/models/rails_admin_content_builder/content_builder_category_spec.rb +1 -1
  61. data/spec/models/rails_admin_content_builder/content_builder_image_spec.rb +1 -1
  62. data/spec/models/rails_admin_content_builder/content_builder_spec.rb +22 -8
  63. data/spec/spec_helper.rb +4 -4
  64. data/spec/version_spec.rb +1 -1
  65. data/vendor/assets/stylesheets/rails_admin_content_builder.scss +47 -30
  66. metadata +1726 -4
  67. data/spec/dummy/db/development.sqlite3 +0 -0
@@ -1,15 +1,13 @@
1
1
  module RailsAdminContentBuilder
2
+ # This class
2
3
  class ContentBuilderController < ::ApplicationController
3
4
  def search_content
4
- @content_builder = RailsAdminContentBuilder::ContentBuilder.order('date_publish desc')
5
- .limit(10)
6
- .search(params[:term])
5
+ content_builder = RailsAdminContentBuilder::ContentBuilder
6
+ @content_builder = content_builder.order('date_publish desc')
7
+ .limit(10)
8
+ .search(params[:term])
7
9
  if @content_builder
8
- render json: @content_builder.to_json(:include => {
9
- :content_builder_category => {
10
- :only => [:name, :slug]
11
- }
12
- })
10
+ render json: @content_builder.to_json(include: {content_builder_category: {only: [:name, :slug]}})
13
11
  else
14
12
  render json: @content_builder.errors
15
13
  end
@@ -19,7 +17,7 @@ module RailsAdminContentBuilder
19
17
  @content_builder = ContentBuilder.find(params[:id])
20
18
  @image = @content_builder.content_builder_images
21
19
  .create(image: params[:content_builder_image])
22
- if @image
20
+ if @image.valid?
23
21
  render json: find_image(@image.id)
24
22
  else
25
23
  render json: @image.errors
@@ -7,26 +7,32 @@
7
7
  # end
8
8
  # end
9
9
  module RailsAdminContentBuilder
10
+ # This is a Module
10
11
  module ContentBuilderHelpers
11
12
  # Return content Object
12
13
  #
13
14
  # @content = content_created
14
15
  def content_created
15
- RailsAdminContentBuilder::ContentBuilder
16
+ set_content_builder
16
17
  end
17
18
 
18
19
  # Return all contents created
19
20
  #
20
21
  # @content = all_contents_created
21
22
  def all_contents_created
22
- RailsAdminContentBuilder::ContentBuilder.where(status: true)
23
+ set_content_builder.where(status: true)
23
24
  end
24
25
 
25
26
  # Return specific contents created by slug
26
27
  #
27
28
  # @content = find_content_created_by_slug('slug')
28
29
  def find_content_created_by_slug(slug)
29
- RailsAdminContentBuilder::ContentBuilder.where(status: true, slug: slug).first
30
+ set_content_builder.where(status: true, slug: slug).first
31
+ end
32
+
33
+ # Return object RailsAdminContentBuilder::ContentBuilder
34
+ def set_content_builder
35
+ RailsAdminContentBuilder::ContentBuilder
30
36
  end
31
37
  end
32
38
  end
@@ -7,9 +7,11 @@ module RailsAdminContentBuilder
7
7
 
8
8
  friendly_id :title, use: :slugged
9
9
 
10
- validates :title, :date_publish, :content_builder_category, :written_by, presence: true
10
+ validates :title, :date_publish, :content_builder_category,
11
+ :written_by, presence: true
11
12
 
12
- has_many :content_builder_images, inverse_of: :content_builder, dependent: :destroy
13
+ has_many :content_builder_images, inverse_of: :content_builder,
14
+ dependent: :destroy
13
15
  belongs_to :content_builder_category, inverse_of: :content_builders
14
16
 
15
17
  search_scope :search do
@@ -19,9 +21,23 @@ module RailsAdminContentBuilder
19
21
  def content_sanitized
20
22
  white_list_sanitizer = Rails::Html::WhiteListSanitizer.new
21
23
  white_list_sanitizer.sanitize(
22
- self.content,
23
- tags: %w(div b i a u p img figure figcaption a iframe footer aside section blockquote ul ol li h1 h2 h3 h4 h5 h6),
24
- attributes: %w(src class alt href allowfullscreen frameborder height width)).try(:html_safe)
24
+ content,
25
+ tags: tags_hash,
26
+ attributes: attributes_hash
27
+ ).try(:html_safe)
28
+ end
29
+
30
+ def tags_hash
31
+ %w(
32
+ div b i a u p img figure figcaption a iframe footer aside
33
+ section blockquote ul ol li h1 h2 h3 h4 h5 h6
34
+ )
35
+ end
36
+
37
+ def attributes_hash
38
+ %w(
39
+ src class alt href allowfullscreen frameborder height width
40
+ )
25
41
  end
26
42
  end
27
43
  end
@@ -75,11 +75,11 @@
75
75
 
76
76
  <%= simple_form_for rails_admin.content_builder_url(@abstract_model.to_param, id: @object.id), html: { class: 'cb-form' }, remote: false do |f| %>
77
77
  <div class="cb-controls">
78
- <%= f.button :submit, t('admin.actions.content_builder.button.save'), name: 'save', class: 'btn btn-block btn-primary' %>
78
+ <%= f.button :submit, t('admin.actions.content_builder.button.save'), name: 'save', class: 'btn btn-block btn-primary btn-right' %>
79
79
  <% if @object.status %>
80
- <%= f.button :submit, t('admin.actions.content_builder.button.unpublish'), name: 'unpublish', class: 'btn btn-block btn-danger' %>
80
+ <%= f.button :submit, t('admin.actions.content_builder.button.unpublish'), name: 'unpublish', class: 'btn btn-block btn-danger btn-left' %>
81
81
  <% else %>
82
- <%= f.button :submit, t('admin.actions.content_builder.button.publish'), name: 'publish', class: 'btn btn-block btn-success' %>
82
+ <%= f.button :submit, t('admin.actions.content_builder.button.publish'), name: 'publish', class: 'btn btn-block btn-success btn-left' %>
83
83
  <% end %>
84
84
  </div>
85
85
 
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "bundler/setup"
4
- require "rails_admin_content_builder"
3
+ require 'bundler/setup'
4
+ require 'rails_admin_content_builder'
5
5
 
6
6
  # You can add fixtures and/or initialization code here to make experimenting
7
7
  # with your gem easier. You can also use a different console, if you like.
@@ -10,5 +10,5 @@ require "rails_admin_content_builder"
10
10
  # require "pry"
11
11
  # Pry.start
12
12
 
13
- require "irb"
13
+ require 'irb'
14
14
  IRB.start
@@ -1,13 +1,13 @@
1
- Rails.application.config.assets.precompile += %w( cb-loading.svg )
2
- Rails.application.config.assets.precompile += %w( cb-snippet-text.jpg )
3
- Rails.application.config.assets.precompile += %w( cb-snippet-image-text.jpg )
4
- Rails.application.config.assets.precompile += %w( cb-snippet-text-image.jpg )
5
- Rails.application.config.assets.precompile += %w( cb-snippet-quote.jpg )
6
- Rails.application.config.assets.precompile += %w( cb-snippet-quote-text.jpg )
7
- Rails.application.config.assets.precompile += %w( cb-snippet-text-quote.jpg )
8
- Rails.application.config.assets.precompile += %w( cb-snippet-image.jpg )
9
- Rails.application.config.assets.precompile += %w( cb-snippet-video.jpg )
10
- Rails.application.config.assets.precompile += %w( cb-image-default.jpg )
11
- Rails.application.config.assets.precompile += %w( cb-video-default.jpg )
12
- Rails.application.config.assets.precompile += %w( cb-snippet-relational-text.jpg )
13
- Rails.application.config.assets.precompile += %w( cb-snippet-text-relational.jpg )
1
+ Rails.application.config.assets.precompile += %w(cb-loading.svg)
2
+ Rails.application.config.assets.precompile += %w(cb-snippet-text.jpg)
3
+ Rails.application.config.assets.precompile += %w(cb-snippet-image-text.jpg)
4
+ Rails.application.config.assets.precompile += %w(cb-snippet-text-image.jpg)
5
+ Rails.application.config.assets.precompile += %w(cb-snippet-quote.jpg)
6
+ Rails.application.config.assets.precompile += %w(cb-snippet-quote-text.jpg)
7
+ Rails.application.config.assets.precompile += %w(cb-snippet-text-quote.jpg)
8
+ Rails.application.config.assets.precompile += %w(cb-snippet-image.jpg)
9
+ Rails.application.config.assets.precompile += %w(cb-snippet-video.jpg)
10
+ Rails.application.config.assets.precompile += %w(cb-image-default.jpg)
11
+ Rails.application.config.assets.precompile += %w(cb-video-default.jpg)
12
+ Rails.application.config.assets.precompile += %w(cb-snippet-relational-text.jpg)
13
+ Rails.application.config.assets.precompile += %w(cb-snippet-text-relational.jpg)
@@ -11,6 +11,10 @@ en:
11
11
  written_by: "Writter By"
12
12
  news_source: "News source"
13
13
  summary: "Summary"
14
+ url: "Paste YouTube url"
15
+ invalid_url: "Invalid url"
16
+ image_description: 'Image description'
17
+ search_content: 'Search Content'
14
18
  button:
15
19
  save: "Save"
16
20
  publish: "Publish"
@@ -11,6 +11,10 @@ pt-BR:
11
11
  written_by: "Autor"
12
12
  news_source: "Fonte"
13
13
  summary: "Resumo"
14
+ url: "Cole a url do YouTube"
15
+ invalid_url: "Ops! Você não informou uma url válida"
16
+ image_description: 'Divulgação'
17
+ search_content: 'Buscar notícias'
14
18
  button:
15
19
  save: "Salvar"
16
20
  publish: "Publicar"
@@ -1,9 +1,9 @@
1
1
  Rails.application.routes.draw do
2
- get_path_url = 'admin/rails_admin_content_builder~content_builder/:id/search_content'
3
- get_path_method = 'rails_admin_content_builder/content_builder#search_content'
4
- get get_path_url => get_path_method
2
+ get_url = 'admin/rails_admin_content_builder~content_builder/search_content'
3
+ get_method = 'rails_admin_content_builder/content_builder#search_content'
4
+ get get_url => get_method
5
5
 
6
- put_path_url = 'admin/rails_admin_content_builder~content_builder/:id/create_images'
7
- put_path_method = 'rails_admin_content_builder/content_builder#create_images'
8
- put put_path_url => put_path_method
6
+ put_url = 'admin/rails_admin_content_builder~content_builder/:id/create_images'
7
+ put_method = 'rails_admin_content_builder/content_builder#create_images'
8
+ put put_url => put_method
9
9
  end
@@ -4,29 +4,37 @@ class RailsAdminContentBuilderGenerator < Rails::Generators::Base
4
4
  include Rails::Generators::Migration
5
5
 
6
6
  def self.source_root
7
- @source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'templates/'))
7
+ @source_root ||= File.expand_path(
8
+ File.join(File.dirname(__FILE__), 'templates/')
9
+ )
8
10
  end
9
11
 
10
12
  def self.next_migration_number(*)
11
- unless @migration
12
- @migration = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i
13
- else
13
+ if @migration
14
14
  @migration += 1
15
+ else
16
+ @migration = Time.now.utc.strftime('%Y%m%d%H%M%S').to_i
15
17
  end
16
18
  @migration.to_s
17
19
  end
18
20
 
19
21
  def create_uploader_content_builder_image_model
20
- template "content_builder_image_uploader.rb", "app/uploaders/content_builder_image_uploader.rb"
22
+ template 'content_builder_image_uploader.rb',
23
+ 'app/uploaders/content_builder_image_uploader.rb'
21
24
  end
22
25
 
23
26
  def create_rails_admin_config_in_initializer
24
- template "rails_admin_content_builder.rb", "config/initializers/rails_admin_content_builder.rb"
27
+ template 'rails_admin_content_builder.rb',
28
+ 'config/initializers/rails_admin_content_builder.rb'
25
29
  end
26
30
 
27
31
  def create_migrations
28
- migration_template "create_content_builder_category_migration.rb", File.join('db/migrate', "create_content_builder_categories.rb")
29
- migration_template "create_content_builder_migration.rb", File.join('db/migrate', "create_content_builders.rb")
30
- migration_template "create_content_builder_image_migration.rb", File.join('db/migrate', "create_content_builder_images.rb")
32
+ path = 'db/migrate'
33
+ migration_template 'create_content_builder_category_migration.rb',
34
+ File.join(path, 'create_content_builder_categories.rb')
35
+ migration_template 'create_content_builder_migration.rb',
36
+ File.join(path, 'create_content_builders.rb')
37
+ migration_template 'create_content_builder_image_migration.rb',
38
+ File.join(path, 'create_content_builder_images.rb')
31
39
  end
32
40
  end
@@ -1,5 +1,4 @@
1
1
  # encoding: utf-8
2
-
3
2
  class ContentBuilderImageUploader < CarrierWave::Uploader::Base
4
3
  # Include RMagick or MiniMagick support:
5
4
  # include CarrierWave::RMagick
@@ -15,14 +14,6 @@ class ContentBuilderImageUploader < CarrierWave::Uploader::Base
15
14
  "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
16
15
  end
17
16
 
18
- # Provide a default URL as a default if there hasn't been a file uploaded:
19
- # def default_url
20
- # # For Rails 3.1+ asset pipeline compatibility:
21
- # # ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))
22
- #
23
- # "/images/fallback/" + [version_name, "default.png"].compact.join('_')
24
- # end
25
-
26
17
  # Process files as they are uploaded:
27
18
  # process :scale => [200, 300]
28
19
  #
@@ -32,11 +23,11 @@ class ContentBuilderImageUploader < CarrierWave::Uploader::Base
32
23
 
33
24
  # Create different versions of your uploaded files:
34
25
  version :left_or_right do
35
- process :resize_to_fit => [450, 450]
26
+ process resize_to_fit: [450, 450]
36
27
  end
37
28
 
38
29
  version :center do
39
- process :resize_to_fit => [900, 900]
30
+ process resize_to_fit: [900, 900]
40
31
  end
41
32
 
42
33
  # Add a white list of extensions which are allowed to be uploaded.
@@ -46,9 +37,8 @@ class ContentBuilderImageUploader < CarrierWave::Uploader::Base
46
37
  end
47
38
 
48
39
  # Override the filename of the uploaded files:
49
- # Avoid using model.id or version_name here, see uploader/store.rb for details.
40
+ # Avoid using model.id or version_name here, see uploader/store.rb for detail
50
41
  # def filename
51
42
  # "something.jpg" if original_filename
52
43
  # end
53
-
54
44
  end
@@ -1,4 +1,4 @@
1
- require "rails_admin_content_builder/engine"
1
+ require 'rails_admin_content_builder/engine'
2
2
 
3
3
  module RailsAdminContentBuilder
4
4
  end
@@ -23,7 +23,7 @@ module RailsAdmin
23
23
  end
24
24
 
25
25
  register_instance_option :controller do
26
- Proc.new do
26
+ proc do
27
27
  @object = @abstract_model.model.find(params[:id])
28
28
  @response = {}
29
29
 
@@ -46,7 +46,7 @@ module RailsAdmin
46
46
  end
47
47
  end
48
48
 
49
- render :action => @action.template_name
49
+ render action: @action.template_name
50
50
  end
51
51
  end
52
52
  end
@@ -18,7 +18,7 @@ module RailsAdminContentBuilder
18
18
 
19
19
  config.generators do |g|
20
20
  g.test_framework :rspec
21
- g.fixture_replacement :factory_girl, :dir => 'spec/factories'
21
+ g.fixture_replacement :factory_girl, dir: 'spec/factories'
22
22
  g.assets false
23
23
  g.helper false
24
24
  end
@@ -1,3 +1,3 @@
1
1
  module RailsAdminContentBuilder
2
- VERSION = "1.0.4"
2
+ VERSION = '1.0.5'.freeze
3
3
  end
@@ -1,42 +1,44 @@
1
1
  # coding: utf-8
2
2
  lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "rails_admin_content_builder/version"
4
+ require 'rails_admin_content_builder/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "rails_admin_content_builder"
7
+ spec.name = 'rails_admin_content_builder'
8
8
  spec.version = RailsAdminContentBuilder::VERSION
9
- spec.authors = ["Luiz Picolo", "Gabriel Medina"]
10
- spec.email = ["luizpicolo@gmail.com", "gmedina.santos@gmail.com"]
9
+ spec.authors = ['Luiz Picolo', 'Gabriel Medina']
10
+ spec.email = ['luizpicolo@gmail.com', 'gmedina.santos@gmail.com']
11
11
 
12
- spec.summary = "Easy way for create contents using rails_admin"
13
- spec.description = "Easy way for create contents using rails_admin"
14
- spec.homepage = "http://github.com/luizpicolo/rails_admin_content_builder"
15
- spec.license = "MIT"
12
+ spec.summary = 'Easy way for create contents using rails_admin'
13
+ spec.description = 'Easy way for create contents using rails_admin'
14
+ spec.homepage = 'http://github.com/luizpicolo/rails_admin_content_builder'
15
+ spec.license = 'MIT'
16
16
 
17
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
- spec.bindir = "exe"
17
+ spec.files = `git ls-files -z`.split("\x0").reject { |f|
18
+ f.match(%r{^(test|spec|features)/})
19
+ }
20
+ spec.bindir = 'exe'
19
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
- spec.require_paths = ["lib"]
21
- spec.test_files = Dir["spec/**/*"]
22
+ spec.require_paths = ['lib']
23
+ spec.test_files = Dir['spec/**/*']
22
24
 
23
- spec.add_development_dependency "bundler", "~> 1.11"
24
- spec.add_development_dependency "rake", "~> 10.0"
25
- spec.add_development_dependency "rails", [">= 4.0", "< 5"]
26
- spec.add_development_dependency "rspec-rails", "~> 3.0"
27
- spec.add_development_dependency "rails_admin", "~> 0.8.1"
25
+ spec.add_development_dependency 'bundler', '~> 1.11'
26
+ spec.add_development_dependency 'rake', '~> 10.0'
27
+ spec.add_development_dependency 'rails', ['>= 4.0', '< 5']
28
+ spec.add_development_dependency 'rspec-rails', '~> 3.0'
29
+ spec.add_development_dependency 'rails_admin', '~> 0.8.1'
28
30
  spec.add_development_dependency 'capybara', '~> 2.7', '>= 2.7.0'
29
31
  spec.add_development_dependency 'launchy', '~> 2.4', '>= 2.4.3'
30
- spec.add_development_dependency "shoulda-matchers", "~> 3.1"
32
+ spec.add_development_dependency 'shoulda-matchers', '~> 3.1'
31
33
  spec.add_development_dependency 'selenium-webdriver', '~> 2.53', '>= 2.53.4'
32
34
  spec.add_development_dependency 'factory_girl_rails', '~> 4.7', '>= 4.7.0'
33
35
  spec.add_development_dependency 'faker', '~> 1.6', '>= 1.6.3'
34
36
 
35
- spec.add_runtime_dependency "carrierwave", "~> 0.11.0"
37
+ spec.add_runtime_dependency 'carrierwave', '~> 0.11.0'
36
38
  spec.add_runtime_dependency 'medium-editor-rails', '~> 2.1', '>= 2.1.0'
37
39
  spec.add_runtime_dependency 'mini_magick', '~> 4.5', '>= 4.5.1'
38
40
  spec.add_runtime_dependency 'friendly_id', '~> 5.1', '>= 5.1.0'
39
- spec.add_runtime_dependency "simple_form", "~> 3.2"
41
+ spec.add_runtime_dependency 'simple_form', '~> 3.2'
40
42
  spec.add_runtime_dependency 'search_cop', '~> 1.0', '>= 1.0.6'
41
43
  spec.add_runtime_dependency 'rails-html-sanitizer', '~> 1.0', '>= 1.0.0'
42
44
  end
Binary file
@@ -1,19 +1,55 @@
1
1
  require 'spec_helper'
2
2
  require 'json'
3
3
 
4
- describe RailsAdminContentBuilder::ContentBuilderController, type: :controller do
4
+ content_builder_controller = RailsAdminContentBuilder::ContentBuilderController
5
+
6
+ describe content_builder_controller, type: :controller do
5
7
  describe 'PUT #create_images' do
6
- it "Should return valid JSON" do
8
+ it 'returns valid JSON' do
7
9
  content_builder = FactoryGirl.create :content_builder
8
10
  put :create_images, id: content_builder.id,
9
- content_builder_image: Rack::Test::UploadedFile.new(File.join('spec', 'fixtures', 'assets', 'example.jpg'))
11
+ content_builder_image: Rack::Test::UploadedFile.new(
12
+ File.join(
13
+ 'spec', 'fixtures', 'assets', 'example.jpg'
14
+ )
15
+ )
10
16
 
11
17
  json = JSON.parse(response.body)
12
- path = '/uploads/rails_admin_content_builder/content_builder_image/image/1/'
18
+ path = '/uploads/rails_admin_content_builder'
19
+ path << '/content_builder_image/image/1/'
13
20
 
14
21
  expect(response.status).to eq 200
15
22
  expect(json['image']['url']).to eq path + 'example.jpg'
16
- expect(json['image']['left_or_right']['url']).to eq path + 'left_or_right_example.jpg'
23
+ expect(
24
+ json['image']['left_or_right']['url']
25
+ ).to eq path + 'left_or_right_example.jpg'
26
+ end
27
+
28
+ it 'returns error' do
29
+ content_builder = FactoryGirl.create :content_builder
30
+ put :create_images, id: content_builder.id, content_builder_image: nil
31
+
32
+ json = JSON.parse(response.body)
33
+
34
+ expect(response.status).to eq 200
35
+ expect(json['image']).to include("can't be blank")
36
+ end
37
+ end
38
+
39
+ describe 'GET #search_content' do
40
+ it 'returns valid JSON' do
41
+ 5.times do |i|
42
+ content_builder = FactoryGirl.create :content_builder, title: "content #{i}"
43
+ end
44
+ 5.times do |i|
45
+ content_builder = FactoryGirl.create :content_builder, title: "title #{i}"
46
+ end
47
+ get :search_content, term: "content"
48
+
49
+ json = JSON.parse(response.body)
50
+
51
+ expect(response.status).to eq 200
52
+ expect(json.size).to eq 5
17
53
  end
18
54
  end
19
55
  end