comfy_blog 2.0.4 → 2.0.5

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
- SHA1:
3
- metadata.gz: b9f0ea2bc15b3bc17c1876c6834cc470400ac644
4
- data.tar.gz: b6c88d114cdbed7dc02d85bc56ca14e11266bb2b
2
+ SHA256:
3
+ metadata.gz: ced1c8ddc66db697dd6df8d669e2fc6a32841a667cd63b323cebe1d466f15b7d
4
+ data.tar.gz: 2b97e015ac0480fb61bd5779e18e5d77d31be90c9cb562a7b779348199b9a579
5
5
  SHA512:
6
- metadata.gz: 7f4a8e2d7d62f2432c1375a3f9c1464dba9b15970d05922eb33a3d32c5f9d77ba10703057c8708fd21fb5e4f4a93019104a71107e5b6319202655f5d2d4874d0
7
- data.tar.gz: debdf31198ca3d0f07afe41f9a9ce082f05039a7282cb647745d1e0a14bf7e22bed73ddf5f8caac6f25e9482b50b59a846002acc14351cecf9c80ce0ca4e992b
6
+ metadata.gz: 5c113c5b36b83fed58049f41cb8f990c20e2b752bac862069740456ce46e7bbd58e2b4e58876ce57f0d39f80b14fde625de106563595f237fb30acb063a9329e
7
+ data.tar.gz: 7b9c2bbffe4f9e29f908b100522b8433309f112eb5bb0e8ad41e68a5e335ec760b65f06fd17e0ee96f5d1cb29479f82474274fd275489025a3406938c62be199
@@ -1,17 +1,19 @@
1
1
  language: ruby
2
+ rvm:
3
+ - 2.2.9
4
+ - 2.3.6
5
+ - 2.4.3
6
+ - 2.5.0
7
+ gemfile:
8
+ - test/gemfiles/5.2.gemfile
9
+ branches:
10
+ only:
11
+ - master
2
12
  before_install:
3
- - gem install bundler
13
+ - gem update --system
14
+ - gem update bundler
4
15
  before_script:
5
16
  - rake db:migrate
6
17
  script:
7
18
  - bundle exec rake test
8
19
  - bundle exec rubocop
9
- rvm:
10
- - 2.2.7
11
- - 2.3.5
12
- - 2.4.2
13
- gemfile:
14
- - test/gemfiles/Gemfile.rails.5.2
15
- branches:
16
- only:
17
- - master
data/Gemfile CHANGED
@@ -2,17 +2,24 @@ source "http://rubygems.org"
2
2
 
3
3
  gemspec
4
4
 
5
- gem "kaminari"
5
+ # CMS has dependency on prerelease and Bundler chokes on it
6
+ gem "rails", "~> 5.2.0.rc1"
7
+
8
+ group :development, :test do
9
+ gem "byebug", "~> 10.0.0", platforms: %i[mri mingw x64_mingw]
10
+ gem "kaminari", "~> 1.1.1"
11
+ gem "puma", "~> 3.11.2"
12
+ gem "rubocop", "~> 0.52.1", require: false
13
+ gem "sqlite3", "~> 1.3.13"
14
+ end
6
15
 
7
16
  group :development do
8
- gem "listen"
9
- gem "rubocop", "~> 0.51.0", require: false
10
- gem "web-console"
17
+ gem "listen", "~> 3.1.5"
18
+ gem "web-console", "~> 3.5.1"
11
19
  end
12
20
 
13
21
  group :test do
14
- gem "coveralls", require: false
15
- gem "mocha", require: false
16
- gem "rails-controller-testing"
17
- gem "sqlite3"
22
+ gem "coveralls", "~> 0.8.21", require: false
23
+ gem "mocha", "~> 1.3.0", require: false
24
+ gem "rails-controller-testing", "~> 1.0.2"
18
25
  end
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright 2013-2017 Oleg Khabarov
1
+ Copyright 2013-2018 Oleg Khabarov
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -19,7 +19,7 @@ Make sure that you have [ComfortableMexicanSofa](https://github.com/comfy/comfor
19
19
  Add gem definition to your Gemfile:
20
20
 
21
21
  ```ruby
22
- gem 'comfy_blog', '~> 2.0.0'
22
+ gem "comfy_blog", "~> 2.0.0"
23
23
  ```
24
24
 
25
25
  Then from the Rails project's root run:
@@ -31,14 +31,14 @@ Then from the Rails project's root run:
31
31
  Take a look inside your `config/routes.rb` file and you should see following lines there:
32
32
 
33
33
  ```ruby
34
- comfy_route :blog_admin, path: 'admin'
35
- comfy_route :blog, path: 'blog'
34
+ comfy_route :blog_admin, path: "admin"
35
+ comfy_route :blog, path: "blog"
36
36
  ```
37
37
 
38
38
  You should also find view templates in `/app/views/blog` folder. Feel free to adjust them as you see fit.
39
39
 
40
- ![Admin Area Preview](https://github.com/comfy/comfy-blog/raw/master/doc/preview.jpg)
40
+ ![Admin Area Preview](/doc/preview.jpg)
41
41
 
42
42
  ---
43
43
 
44
- Copyright 2009-2017 Oleg Khabarov
44
+ Copyright 2009-2018 Oleg Khabarov
@@ -5,5 +5,5 @@
5
5
  .page-header
6
6
  %h2= t('.title')
7
7
 
8
- = comfy_form_for @post, as: :post, url: {action: :update}, html: {multipart: true} do |form|
8
+ = comfy_form_with model: @post, scope: :post, url: {action: :update}, html: {multipart: true} do |form|
9
9
  = render form
@@ -1,5 +1,5 @@
1
1
  .page-header
2
2
  %h2= t('.title')
3
3
 
4
- = comfy_form_for @post, as: :post, url: {action: :create}, html: {multipart: true} do |form|
4
+ = comfy_form_with model: @post, scope: :post, url: {action: :create}, html: {multipart: true} do |form|
5
5
  = render form
@@ -13,11 +13,13 @@ Gem::Specification.new do |s|
13
13
  s.description = "Simple Blog Engine for ComfortableMexicanSofa"
14
14
  s.license = "MIT"
15
15
 
16
- s.files = `git ls-files`.split("\n")
17
- s.platform = Gem::Platform::RUBY
16
+ s.files = `git ls-files -z`.split("\x0").reject do |f|
17
+ f.match(%r{^(test|doc)/})
18
+ end
19
+
18
20
  s.require_paths = ["lib"]
19
21
 
20
22
  s.required_ruby_version = ">= 2.2.2"
21
23
 
22
- s.add_dependency "comfortable_mexican_sofa", ">= 2.0.4"
24
+ s.add_dependency "comfortable_mexican_sofa", ">= 2.0.10"
23
25
  end
@@ -0,0 +1,38 @@
1
+ ca:
2
+ activerecord:
3
+ models:
4
+ comfy/blog/post: Entrada
5
+ attributes:
6
+ comfy/blog/post:
7
+ title: Títol
8
+ slug: Ruta
9
+ published_at: Publicat
10
+ is_published: Publicada
11
+
12
+ comfy:
13
+ admin:
14
+ cms:
15
+ base:
16
+ posts: Entrada del blog
17
+ blog:
18
+ posts:
19
+ created: S'ha creat l'entrada del blog
20
+ create_failure: No s'ha pogut crear l'entrada del blog
21
+ updated: S'ha actualitzat l'entrada del blog
22
+ update_failure: No s'ha pogut actualitzar l'entrada del blog
23
+ deleted: S'ha esborrat l'entrada del blog
24
+ not_found: L'entrada del blog no s'ha pogut trobar
25
+ index:
26
+ title: Entrada del blog
27
+ new_link: S'ha creat una nova entrada al blog
28
+ edit: Edita
29
+ delete: Esborra
30
+ are_you_sure: Esteu segur de que voleu esborrar aquesta entrada?
31
+ new:
32
+ title: Nova entrada del blog
33
+ edit:
34
+ title: Edita l'entrada del blog
35
+ form:
36
+ create: Crea una entrada
37
+ update: Actualitza una entrada
38
+ cancel: Cancel.la
@@ -1,38 +1,38 @@
1
1
  fr:
2
2
  activerecord:
3
3
  models:
4
- comfy/blog/post: Post
4
+ comfy/blog/post: Article
5
5
  attributes:
6
6
  comfy/blog/post:
7
- title: Title
8
- slug: Slug
9
- published_at: Published at
10
- is_published: Is Published
7
+ title: Titre
8
+ slug: Identifiant
9
+ published_at: Publié le
10
+ is_published: Publié
11
11
 
12
12
  comfy:
13
13
  admin:
14
14
  cms:
15
15
  base:
16
- posts: Blog Posts
16
+ posts: Articles de Blog
17
17
  blog:
18
18
  posts:
19
- created: Blog Post created
20
- create_failure: Failed to create Blog Post
21
- updated: Blog Post updated
22
- update_failure: Failed to update Blog Post
23
- deleted: Blog Post removed
24
- not_found: Blog Post not found
19
+ created: Article de Blog créé
20
+ create_failure: Échec de la création de l'Article de Blog
21
+ updated: Article de Blog modifié
22
+ update_failure: Échec de la modification de l'Article de Blog
23
+ deleted: Article de Blog supprimé
24
+ not_found: Article de Blog introuvable
25
25
  index:
26
- title: Blog Posts
27
- new_link: New Blog Post
28
- edit: Edit
29
- delete: Delete
30
- are_you_sure: Are you sure?
26
+ title: Articles de Blog
27
+ new_link: Nouvel Article de Blog
28
+ edit: Modifier
29
+ delete: Supprimer
30
+ are_you_sure: Êtes-vous sûr ?
31
31
  new:
32
- title: New Blog Post
32
+ title: Nouvel Article de Blog
33
33
  edit:
34
- title: Edit Blog Post
34
+ title: Modifier l'Article de Blog
35
35
  form:
36
- create: Create Post
37
- update: Update Post
38
- cancel: Cancel
36
+ create: Créer l'Article
37
+ update: Modifier l'Article
38
+ cancel: Annuler
@@ -0,0 +1,38 @@
1
+ gr:
2
+ activerecord:
3
+ models:
4
+ comfy/blog/post: Δημοσίευση
5
+ attributes:
6
+ comfy/blog/post:
7
+ title: Τίτλος
8
+ slug: Slug
9
+ published_at: Δημοσιεύθηκε στο
10
+ is_published: Έχει Δημοσιευθεί
11
+
12
+ comfy:
13
+ admin:
14
+ cms:
15
+ base:
16
+ posts: Δημοσιεύσεις του Blog
17
+ blog:
18
+ posts:
19
+ created: Η Δημοσιεύση δημιουργήθηκε
20
+ create_failure: Αποτυχία δημιουργίας της δημοσίευσης
21
+ updated: Η Δημοσίευση ενημερώθηκε
22
+ update_failure: Αποτυχία ενημέρωσης της δημοσίευσης
23
+ deleted: Η Δημοσίεση διαγράφηκε
24
+ not_found: Η Δημοσίευση δεν βρέθηκε
25
+ index:
26
+ title: Δημοσιεύσεις του Blog
27
+ new_link: Νέα Δημοσίευση
28
+ edit: Επεξεργασία
29
+ delete: Διαγραφή
30
+ are_you_sure: Είστε σίγουροι;
31
+ new:
32
+ title: Νέα Δημοσίευση στο Blog
33
+ edit:
34
+ title: Επεξεργασία στο Blog
35
+ form:
36
+ create: Δημιουργία Δημοσίευσης
37
+ update: Ενημέρωση Δημοσίευσης
38
+ cancel: Ακύρωση
@@ -1,38 +1,38 @@
1
1
  tr:
2
2
  activerecord:
3
3
  models:
4
- comfy/blog/post: Post
4
+ comfy/blog/post: Yazı
5
5
  attributes:
6
6
  comfy/blog/post:
7
- title: Title
7
+ title: Başlık
8
8
  slug: Slug
9
- published_at: Published at
10
- is_published: Is Published
9
+ published_at: Yayınlanma tarihi
10
+ is_published: Yayında mı?
11
11
 
12
12
  comfy:
13
13
  admin:
14
14
  cms:
15
15
  base:
16
- posts: Blog Posts
16
+ posts: Blog Yazıları
17
17
  blog:
18
18
  posts:
19
- created: Blog Post created
20
- create_failure: Failed to create Blog Post
21
- updated: Blog Post updated
22
- update_failure: Failed to update Blog Post
23
- deleted: Blog Post removed
24
- not_found: Blog Post not found
19
+ created: Blog Yazısı oluşturuldu
20
+ create_failure: Blog Yazıdı oluşturulamadı
21
+ updated: Blog Yazısı güncellendi
22
+ update_failure: Blog Yazısıp güncellenemedi
23
+ deleted: Blog Yazısı silindi
24
+ not_found: Blog Yazısı bulunamadı
25
25
  index:
26
- title: Blog Posts
27
- new_link: New Blog Post
28
- edit: Edit
29
- delete: Delete
30
- are_you_sure: Are you sure?
26
+ title: Blog Yazıları
27
+ new_link: Yeni Blog Yazısı
28
+ edit: Düzenle
29
+ delete: Sil
30
+ are_you_sure: Emin misin?
31
31
  new:
32
- title: New Blog Post
32
+ title: Yeni Blog Yazısı
33
33
  edit:
34
- title: Edit Blog Post
34
+ title: Blog Yazısını Düzenle
35
35
  form:
36
- create: Create Post
37
- update: Update Post
38
- cancel: Cancel
36
+ create: Yazı Oluştur
37
+ update: Yazıyı Güncelle
38
+ cancel: İptal
@@ -1,38 +1,38 @@
1
1
  zh-CN:
2
2
  activerecord:
3
3
  models:
4
- comfy/blog/post: Post
4
+ comfy/blog/post: 博客
5
5
  attributes:
6
6
  comfy/blog/post:
7
- title: Title
8
- slug: Slug
9
- published_at: Published at
10
- is_published: Is Published
7
+ title: 标题
8
+ slug: 缩略路径
9
+ published_at: 发布于
10
+ is_published: 发布
11
11
 
12
12
  comfy:
13
13
  admin:
14
14
  cms:
15
15
  base:
16
- posts: Blog Posts
16
+ posts: 博客
17
17
  blog:
18
18
  posts:
19
- created: Blog Post created
20
- create_failure: Failed to create Blog Post
21
- updated: Blog Post updated
22
- update_failure: Failed to update Blog Post
23
- deleted: Blog Post removed
24
- not_found: Blog Post not found
19
+ created: 博客创建成功
20
+ create_failure: 博客创建失败
21
+ updated: 博客更新成功
22
+ update_failure: 博客更新失败
23
+ deleted: 博客删除成功
24
+ not_found: 博客不存在
25
25
  index:
26
- title: Blog Posts
27
- new_link: New Blog Post
28
- edit: Edit
29
- delete: Delete
30
- are_you_sure: Are you sure?
26
+ title: 博客
27
+ new_link: 创建新博客
28
+ edit: 编辑
29
+ delete: 删除
30
+ are_you_sure: 确定删除该博客吗?
31
31
  new:
32
- title: New Blog Post
32
+ title: 新博客
33
33
  edit:
34
- title: Edit Blog Post
34
+ title: 编辑博客
35
35
  form:
36
- create: Create Post
37
- update: Update Post
38
- cancel: Cancel
36
+ create: 创建博客
37
+ update: 更新博客
38
+ cancel: 取消
@@ -1,38 +1,38 @@
1
1
  zh-TW:
2
2
  activerecord:
3
3
  models:
4
- comfy/blog/post: Post
4
+ comfy/blog/post: 網誌
5
5
  attributes:
6
6
  comfy/blog/post:
7
- title: Title
8
- slug: Slug
9
- published_at: Published at
10
- is_published: Is Published
7
+ title: 標題
8
+ slug: 路徑名
9
+ published_at: 發佈于
10
+ is_published: 發佈
11
11
 
12
12
  comfy:
13
13
  admin:
14
14
  cms:
15
15
  base:
16
- posts: Blog Posts
16
+ posts: 網誌
17
17
  blog:
18
18
  posts:
19
- created: Blog Post created
20
- create_failure: Failed to create Blog Post
21
- updated: Blog Post updated
22
- update_failure: Failed to update Blog Post
23
- deleted: Blog Post removed
24
- not_found: Blog Post not found
19
+ created: 網誌創建成功
20
+ create_failure: 網誌創建失敗
21
+ updated: 網誌更新成功
22
+ update_failure: 網誌更新失敗
23
+ deleted: 網誌刪除成功
24
+ not_found: 網誌不存在
25
25
  index:
26
- title: Blog Posts
27
- new_link: New Blog Post
28
- edit: Edit
29
- delete: Delete
30
- are_you_sure: Are you sure?
26
+ title: 網誌
27
+ new_link: 創建新網誌
28
+ edit: 編輯
29
+ delete: 刪除
30
+ are_you_sure: 確定刪除該網誌嗎?
31
31
  new:
32
- title: New Blog Post
32
+ title: 新網誌
33
33
  edit:
34
- title: Edit Blog Post
34
+ title: 編輯網誌
35
35
  form:
36
- create: Create Post
37
- update: Update Post
38
- cancel: Cancel
36
+ create: 創建網誌
37
+ update: 跟新網誌
38
+ cancel: 取消
@@ -1,5 +1,5 @@
1
1
  module ComfyBlog
2
2
 
3
- VERSION = "2.0.4".freeze
3
+ VERSION = "2.0.5".freeze
4
4
 
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comfy_blog
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.4
4
+ version: 2.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oleg Khabarov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-12 00:00:00.000000000 Z
11
+ date: 2018-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: comfortable_mexican_sofa
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 2.0.4
19
+ version: 2.0.10
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 2.0.4
26
+ version: 2.0.10
27
27
  description: Simple Blog Engine for ComfortableMexicanSofa
28
28
  email:
29
29
  - oleg@khabarov.ca
@@ -70,12 +70,14 @@ files:
70
70
  - config/environments/development.rb
71
71
  - config/environments/test.rb
72
72
  - config/initializers/comfy_blog.rb
73
+ - config/locales/ca.yml
73
74
  - config/locales/cs.yml
74
75
  - config/locales/da.yml
75
76
  - config/locales/de.yml
76
77
  - config/locales/en.yml
77
78
  - config/locales/es.yml
78
79
  - config/locales/fr.yml
80
+ - config/locales/gr.yml
79
81
  - config/locales/it.yml
80
82
  - config/locales/ja.yml
81
83
  - config/locales/nb.yml
@@ -91,7 +93,6 @@ files:
91
93
  - config/storage.yml
92
94
  - db/migrate/00_create_cms.rb
93
95
  - db/migrate/01_create_blog.rb
94
- - doc/preview.jpg
95
96
  - lib/comfy_blog.rb
96
97
  - lib/comfy_blog/configuration.rb
97
98
  - lib/comfy_blog/engine.rb
@@ -101,20 +102,6 @@ files:
101
102
  - lib/comfy_blog/version.rb
102
103
  - lib/generators/comfy/blog/README
103
104
  - lib/generators/comfy/blog/blog_generator.rb
104
- - test/controllers/comfy/admin/blog/posts_controller_test.rb
105
- - test/controllers/comfy/admin/blog/revisions/post_controller_test.rb
106
- - test/controllers/comfy/blog/posts_controller_test.rb
107
- - test/fixtures/comfy/blog/posts.yml
108
- - test/fixtures/comfy/cms/layouts.yml
109
- - test/fixtures/comfy/cms/revisions.yml
110
- - test/fixtures/comfy/cms/sites.yml
111
- - test/fixtures/generators/blog/routes.rb
112
- - test/gemfiles/Gemfile.rails.5.2
113
- - test/generators/blog_generator_test.rb
114
- - test/integration/i18n_test.rb
115
- - test/lib/configuration_test.rb
116
- - test/models/posts_test.rb
117
- - test/test_helper.rb
118
105
  homepage: http://github.com/comfy/comfy-blog
119
106
  licenses:
120
107
  - MIT
@@ -135,7 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
122
  version: '0'
136
123
  requirements: []
137
124
  rubyforge_project:
138
- rubygems_version: 2.6.11
125
+ rubygems_version: 2.7.5
139
126
  signing_key:
140
127
  specification_version: 4
141
128
  summary: Simple Blog Engine for ComfortableMexicanSofa
Binary file
@@ -1,153 +0,0 @@
1
- require_relative "../../../../test_helper"
2
-
3
- class Comfy::Admin::Blog::PostsControllerTest < ActionDispatch::IntegrationTest
4
-
5
- setup do
6
- @site = comfy_cms_sites(:default)
7
- @layout = comfy_cms_layouts(:default)
8
- @post = comfy_blog_posts(:default)
9
- end
10
-
11
- def test_get_index
12
- r :get, comfy_admin_blog_posts_path(@site)
13
- assert_response :success
14
- assert assigns(:posts)
15
- assert_template :index
16
- end
17
-
18
- def test_get_index_with_no_posts
19
- Comfy::Blog::Post.delete_all
20
- r :get, comfy_admin_blog_posts_path(@site)
21
- assert_response :redirect
22
- assert_redirected_to action: :new
23
- end
24
-
25
- def test_get_index_with_category
26
- category = @site.categories.create!(
27
- label: "Test Category",
28
- categorized_type: "Comfy::Blog::Post"
29
- )
30
- category.categorizations.create!(categorized: @post)
31
-
32
- r :get, comfy_admin_blog_posts_path(@site), params: { categories: category.label }
33
- assert_response :success
34
- assert assigns(:posts)
35
- assert_equal 1, assigns(:posts).count
36
- assert assigns(:posts).first.categories.member? category
37
- end
38
-
39
- def test_get_index_with_category_invalid
40
- r :get, comfy_admin_blog_posts_path(@site), params: { categories: "invalid" }
41
- assert_response :success
42
- assert assigns(:posts)
43
- assert_equal 0, assigns(:posts).count
44
- end
45
-
46
- def test_get_new
47
- r :get, new_comfy_admin_blog_post_path(@site)
48
- assert_response :success
49
- assert assigns(:post)
50
- assert_template :new
51
- assert_select "form[action='/admin/sites/#{@site.id}/blog-posts']"
52
- end
53
-
54
- def test_creation
55
- post_count = -> { Comfy::Blog::Post.count }
56
- frag_count = -> { Comfy::Cms::Fragment.count }
57
- assert_difference [post_count, frag_count] do
58
- r :post, comfy_admin_blog_posts_path(@site), params: { post: {
59
- title: "Test Post",
60
- slug: "test-post",
61
- published_at: 2.days.ago.to_s(:db),
62
- is_published: "1",
63
- layout_id: @layout,
64
- fragments_attributes: [
65
- { identifier: "content",
66
- content: "test text" }
67
- ]
68
- } }
69
- assert_response :redirect
70
- assert_redirected_to action: :edit, id: assigns(:post)
71
- assert_equal "Blog Post created", flash[:success]
72
- end
73
- end
74
-
75
- def test_creation_failure
76
- assert_no_difference -> { Comfy::Blog::Post.count } do
77
- r :post, comfy_admin_blog_posts_path(@site), params: { post: {} }
78
- assert_response :success
79
- assert_template :new
80
- assert assigns(:post)
81
- assert_equal "Failed to create Blog Post", flash[:danger]
82
- end
83
- end
84
-
85
- def test_get_edit
86
- r :get, edit_comfy_admin_blog_post_path(@site, @post)
87
- assert_response :success
88
- assert_template :edit
89
- assert assigns(:post)
90
- assert_select "form[action='/admin/sites/#{@site.id}/blog-posts/#{@post.id}']"
91
- end
92
-
93
- def test_get_edit_failure
94
- r :get, edit_comfy_admin_blog_post_path(@site, "invalid")
95
- assert_response :redirect
96
- assert_redirected_to action: :index
97
- assert_equal "Blog Post not found", flash[:danger]
98
- end
99
-
100
- def test_update
101
- r :put, comfy_admin_blog_post_path(@site, @post), params: { post: {
102
- title: "Updated Post"
103
- } }
104
- assert_response :redirect
105
- assert_redirected_to action: :edit, id: assigns(:post)
106
- assert_equal "Blog Post updated", flash[:success]
107
-
108
- @post.reload
109
- assert_equal "Updated Post", @post.title
110
- end
111
-
112
- def test_update_failure
113
- r :put, comfy_admin_blog_post_path(@site, @post), params: { post: {
114
- title: ""
115
- } }
116
- assert_response :success
117
- assert_template :edit
118
- assert_equal "Failed to update Blog Post", flash[:danger]
119
-
120
- @post.reload
121
- assert_not_equal "", @post.title
122
- end
123
-
124
- def test_destroy
125
- assert_difference -> { Comfy::Blog::Post.count }, -1 do
126
- r :delete, comfy_admin_blog_post_path(@site, @post)
127
- assert_response :redirect
128
- assert_redirected_to action: :index
129
- assert_equal "Blog Post removed", flash[:success]
130
- end
131
- end
132
-
133
- def test_get_form_fragments
134
- r :get, form_fragments_comfy_admin_blog_post_path(site_id: @site, id: @post), xhr: true, params: {
135
- layout_id: @layout.id
136
- }
137
- assert_response :success
138
- assert assigns(:post)
139
- assert_equal 1, assigns(:post).fragment_nodes.size
140
- assert_template :form_fragments
141
- end
142
-
143
- def test_get_form_fragments_for_new_post
144
- r :get, form_fragments_comfy_admin_blog_post_path(site_id: @site, id: 0), xhr: true, params: {
145
- layout_id: @layout.id
146
- }
147
- assert_response :success
148
- assert assigns(:post)
149
- assert_equal 1, assigns(:post).fragment_nodes.size
150
- assert_template :form_fragments
151
- end
152
-
153
- end
@@ -1,67 +0,0 @@
1
- require_relative "../../../../../test_helper"
2
-
3
- class Comfy::Admin::Cms::Revisions::PageControllerTest < ActionDispatch::IntegrationTest
4
-
5
- setup do
6
- @site = comfy_cms_sites(:default)
7
- @post = comfy_blog_posts(:default)
8
- @revision = comfy_cms_revisions(:post)
9
- end
10
-
11
- def test_get_index
12
- r :get, comfy_admin_blog_post_revisions_path(@site, @post)
13
- assert_response :redirect
14
- assert_redirected_to action: :show, id: @revision
15
- end
16
-
17
- def test_get_index_with_no_revisions
18
- Comfy::Cms::Revision.delete_all
19
- r :get, comfy_admin_blog_post_revisions_path(@site, @post)
20
- assert_response :redirect
21
- assert_redirected_to edit_comfy_admin_blog_post_path(@site, @post)
22
- end
23
-
24
- def test_get_show
25
- r :get, comfy_admin_blog_post_revision_path(@site, @post, @revision)
26
- assert_response :success
27
- assert assigns(:record)
28
- assert assigns(:revision)
29
- assert assigns(:record).is_a?(Comfy::Blog::Post)
30
- assert_template :show
31
- end
32
-
33
- def test_get_show_for_invalid_record
34
- r :get, comfy_admin_blog_post_revision_path(@site, "invalid", @revision)
35
- assert_response :redirect
36
- assert_redirected_to comfy_admin_blog_posts_path(@site)
37
- assert_equal "Record Not Found", flash[:danger]
38
- end
39
-
40
- def test_get_show_failure
41
- r :get, comfy_admin_blog_post_revision_path(@site, @post, "invalid")
42
- assert_response :redirect
43
- assert assigns(:record)
44
- assert_redirected_to edit_comfy_admin_blog_post_path(@site, assigns(:record))
45
- assert_equal "Revision Not Found", flash[:danger]
46
- end
47
-
48
- def test_revert
49
- assert_difference -> { @post.revisions.count } do
50
- r :patch, revert_comfy_admin_blog_post_revision_path(@site, @post, @revision)
51
- assert_response :redirect
52
- assert_redirected_to edit_comfy_admin_blog_post_path(@site, @post)
53
- assert_equal "Content Reverted", flash[:success]
54
-
55
- @post.reload
56
-
57
- assert_equal [{
58
- identifier: "content",
59
- tag: "text",
60
- content: "old content",
61
- datetime: nil,
62
- boolean: false
63
- }], @post.fragments_attributes
64
- end
65
- end
66
-
67
- end
@@ -1,95 +0,0 @@
1
- require_relative "../../../test_helper"
2
-
3
- class Comfy::Blog::PostsControllerTest < ActionDispatch::IntegrationTest
4
-
5
- def setup
6
- @site = comfy_cms_sites(:default)
7
- @post = comfy_blog_posts(:default)
8
- end
9
-
10
- def test_get_index
11
- get comfy_blog_posts_path
12
- assert_response :success
13
- assert_template :index
14
- assert assigns(:blog_posts)
15
- assert_equal 1, assigns(:blog_posts).size
16
- end
17
-
18
- def test_get_index_as_rss
19
- get comfy_blog_posts_path, params: { format: :rss }
20
- assert_response :success
21
- assert_template :index
22
- assert assigns(:blog_posts)
23
- assert_equal 1, assigns(:blog_posts).size
24
- end
25
-
26
- def test_get_index_with_unpublished
27
- comfy_blog_posts(:default).update_column(:is_published, false)
28
- get comfy_blog_posts_path
29
- assert_response :success
30
- assert_equal 0, assigns(:blog_posts).size
31
- end
32
-
33
- def test_get_index_for_year_archive
34
- get comfy_blog_posts_of_year_path(@site.path, 2012)
35
- assert_response :success
36
- assert_equal 1, assigns(:blog_posts).size
37
-
38
- get comfy_blog_posts_of_year_path(@site.path, 1999)
39
- assert_response :success
40
- assert_equal 0, assigns(:blog_posts).size
41
- end
42
-
43
- def test_get_index_for_month_archive
44
- get comfy_blog_posts_of_month_path(@site.path, 2012, 1)
45
- assert_response :success
46
- assert_equal 1, assigns(:blog_posts).size
47
-
48
- get comfy_blog_posts_of_month_path(@site.path, 2012, 12)
49
- assert_response :success
50
- assert_equal 0, assigns(:blog_posts).size
51
- end
52
-
53
- def test_get_index_with_category
54
- category = @site.categories.create!(
55
- label: "Test Category",
56
- categorized_type: "Comfy::Blog::Post"
57
- )
58
- category.categorizations.create!(categorized: @post)
59
-
60
- get comfy_blog_posts_path, params: { category: category.label }
61
-
62
- assert_response :success
63
- assert assigns(:blog_posts)
64
- assert_equal 1, assigns(:blog_posts).count
65
- assert assigns(:blog_posts).first.categories.member? category
66
- end
67
-
68
- def test_get_index_with_category_invalid
69
- get comfy_blog_posts_path, params: { category: "invalid" }
70
- assert_response :success
71
- assert assigns(:blog_posts)
72
- assert_equal 0, assigns(:blog_posts).count
73
- end
74
-
75
- def test_get_show
76
- @post.update_column(:content_cache, "blog post content")
77
- get comfy_blog_post_path(@site.path, @post.year, @post.month, @post.slug)
78
- assert_response :success
79
- assert_equal "blog post content", response.body
80
- end
81
-
82
- def test_get_show_unpublished
83
- @post.update_attribute(:is_published, false)
84
- assert_exception_raised ComfortableMexicanSofa::MissingPage do
85
- get comfy_blog_post_path(@site.path, @post.year, @post.month, @post.slug)
86
- end
87
- end
88
-
89
- def test_get_show_with_date_invalid
90
- assert_exception_raised ComfortableMexicanSofa::MissingPage do
91
- get comfy_blog_post_path(@site.path, 1234, 99, @post.slug)
92
- end
93
- end
94
-
95
- end
@@ -1,9 +0,0 @@
1
- default:
2
- site: default
3
- title: Default Title
4
- slug: default-title
5
- is_published: true
6
- year: 2012
7
- month: 1
8
- published_at: <%= 2.days.ago %>
9
- layout: default
@@ -1,10 +0,0 @@
1
- default:
2
- site: default
3
- label: Default Layout
4
- identifier: default
5
- parent:
6
- content: |-
7
- {{cms:text content}}
8
- css:
9
- js:
10
- position: 0
@@ -1,7 +0,0 @@
1
- post:
2
- record: default (Comfy::Blog::Post)
3
- data: <%= {
4
- "fragments_attributes" => [
5
- { "identifier" => "content",
6
- "content" => "old content" }
7
- ]}.to_yaml.inspect %>
@@ -1,4 +0,0 @@
1
- default:
2
- label: Default Site
3
- identifier: default-site
4
- hostname: test.host
@@ -1,5 +0,0 @@
1
- Test::Application.routes.draw do
2
-
3
- comfy_route :blog_admin, path: "/admin"
4
- comfy_route :blog, path: "/blog"
5
- end
@@ -1,13 +0,0 @@
1
- source 'http://rubygems.org'
2
-
3
- gemspec path: "../../"
4
-
5
- gem 'kaminari', '>= 0.14.0'
6
-
7
- group :test do
8
- gem "rubocop", "~> 0.51.0", require: false
9
- gem "sqlite3"
10
- gem "coveralls", require: false
11
- gem "mocha", require: false
12
- gem "rails-controller-testing"
13
- end
@@ -1,20 +0,0 @@
1
- require_relative "../test_helper"
2
- require_relative "../../lib/generators/comfy/blog/blog_generator"
3
-
4
- class CmsGeneratorTest < Rails::Generators::TestCase
5
-
6
- tests Comfy::Generators::BlogGenerator
7
-
8
- def test_generator
9
- run_generator
10
-
11
- assert_migration "db/migrate/create_blog.rb"
12
-
13
- assert_file "config/initializers/comfy_blog.rb"
14
-
15
- assert_file "config/routes.rb", read_file("blog/routes.rb")
16
-
17
- assert_directory "app/views/comfy/blog"
18
- end
19
-
20
- end
@@ -1,38 +0,0 @@
1
- require_relative "../test_helper"
2
-
3
- class I18nIntegrationTest < ActionDispatch::IntegrationTest
4
-
5
- def collect_combined_keys(hash, ns = nil)
6
- hash.collect do |k, v|
7
- keys = []
8
- keys << collect_combined_keys(v, "#{ns}.#{k}") if v.is_a?(Hash)
9
- keys << "#{ns}.#{k}"
10
- end.flatten
11
- end
12
-
13
- def test_translations
14
- locales_path = File.expand_path("../../../config/locales", __FILE__)
15
- locales = Dir.glob("#{locales_path}/*.yml").collect do |file_path|
16
- File.basename(file_path, ".yml")
17
- end
18
-
19
- # collecting all locales
20
- locale_keys = {}
21
- locales.each do |locale|
22
- translations = YAML.load_file("#{locales_path}/#{locale}.yml")
23
- locale_keys[locale] = collect_combined_keys(translations[locale])
24
- end
25
-
26
- # Using en as reference
27
- reference = locale_keys[locales.delete("en")]
28
- assert reference.present?
29
-
30
- locale_keys.each do |locale, keys|
31
- missing = reference - keys
32
- assert missing.blank?, "#{locale} locale is missing: #{missing.join(', ')}"
33
- extra = keys - reference
34
- assert extra.blank?, "#{locale} locale has extra: #{extra.join(', ')}"
35
- end
36
- end
37
-
38
- end
@@ -1,17 +0,0 @@
1
- require_relative "../test_helper"
2
-
3
- class ConfigurationTest < ActiveSupport::TestCase
4
-
5
- def test_configuration
6
- assert config = ComfyBlog.configuration
7
- assert_equal 10, config.posts_per_page
8
- assert_equal "comfy/blog/application", config.app_layout
9
- assert_equal "blog", config.public_blog_path
10
- end
11
-
12
- def test_initialization_overrides
13
- ComfyBlog.config.posts_per_page = 5
14
- assert_equal 5, ComfyBlog.config.posts_per_page
15
- end
16
-
17
- end
@@ -1,103 +0,0 @@
1
- require_relative "../test_helper"
2
-
3
- class BlogPostsTest < ActiveSupport::TestCase
4
-
5
- setup do
6
- @site = comfy_cms_sites(:default)
7
- @layout = comfy_cms_layouts(:default)
8
- @post = comfy_blog_posts(:default)
9
- end
10
-
11
- def test_fixtures_validity
12
- Comfy::Blog::Post.all.each do |post|
13
- assert post.valid?, post.errors.full_messages.to_s
14
- end
15
- end
16
-
17
- def test_validations
18
- post = Comfy::Blog::Post.new
19
- assert post.invalid?
20
- assert_errors_on post, :site, :title, :slug, :layout
21
- end
22
-
23
- def test_validation_of_slug_uniqueness
24
- @post.update_attributes!(published_at: Time.now)
25
- post = @site.blog_posts.new(
26
- title: @post.title,
27
- layout: @layout
28
- )
29
- assert post.invalid?
30
- assert_errors_on post, [:slug]
31
-
32
- @post.update_attributes!(published_at: 1.year.ago)
33
- assert post.valid?
34
- end
35
-
36
- def test_validation_of_slug_format
37
- post = @site.blog_posts.new(
38
- title: "Test Title",
39
- slug: "test%slug",
40
- layout: @layout
41
- )
42
- assert post.valid?
43
- end
44
-
45
- def test_creation
46
- assert_difference -> { Comfy::Blog::Post.count } do
47
- post = @site.blog_posts.create!(
48
- title: "Test Post",
49
- layout: @layout
50
- )
51
- assert_equal "test-post", post.slug
52
- assert_equal Time.zone.now.year, post.year
53
- assert_equal Time.zone.now.month, post.month
54
- end
55
- end
56
-
57
- def test_set_slug
58
- post = Comfy::Blog::Post.new(title: "Test Title")
59
- post.send(:set_slug)
60
- assert_equal "test-title", post.slug
61
- end
62
-
63
- def test_set_date
64
- post = Comfy::Blog::Post.new
65
- post.send(:set_published_at)
66
- post.send(:set_date)
67
- assert_equal post.published_at.year, post.year
68
- assert_equal post.published_at.month, post.month
69
- end
70
-
71
- def test_set_published_at
72
- post = Comfy::Blog::Post.new
73
- post.send(:set_published_at)
74
- assert post.published_at.present?
75
- end
76
-
77
- def test_scope_published
78
- assert @post.is_published?
79
- assert_equal 1, Comfy::Blog::Post.published.count
80
-
81
- @post.update_attribute(:is_published, false)
82
- assert_equal 0, Comfy::Blog::Post.published.count
83
- end
84
-
85
- def test_scope_for_year
86
- assert_equal 1, Comfy::Blog::Post.for_year(2012).count
87
- assert_equal 0, Comfy::Blog::Post.for_year(2013).count
88
- end
89
-
90
- def test_scope_for_month
91
- assert_equal 1, Comfy::Blog::Post.for_month(1).count
92
- assert_equal 0, Comfy::Blog::Post.for_month(2).count
93
- end
94
-
95
- def test_url
96
- assert_equal "//test.host/blog/2012/1/default-title", @post.url
97
- assert_equal "/blog/2012/1/default-title", @post.url(relative: true)
98
-
99
- ComfyBlog.config.public_blog_path = "test-blog"
100
- assert_equal "//test.host/test-blog/2012/1/default-title", @post.url
101
- end
102
-
103
- end
@@ -1,112 +0,0 @@
1
- ENV["RAILS_ENV"] = "test"
2
-
3
- require "simplecov"
4
- require "coveralls"
5
- SimpleCov.formatter = Coveralls::SimpleCov::Formatter
6
- SimpleCov.start do
7
- add_filter "lib/generators"
8
- add_filter "lib/comfy_blog/engine.rb "
9
- end
10
- require_relative "../config/environment"
11
-
12
- require "rails/test_help"
13
- require "rails/generators"
14
-
15
- Rails.backtrace_cleaner.remove_silencers!
16
-
17
- class ActiveSupport::TestCase
18
-
19
- fixtures :all
20
-
21
- setup :reset_config
22
-
23
- def reset_config
24
- ComfyBlog.configure do |config|
25
- config.posts_per_page = 10
26
- config.app_layout = "comfy/blog/application"
27
- config.public_blog_path = "blog"
28
- end
29
- end
30
-
31
- # Example usage:
32
- # assert_has_errors_on @record, :field_1, :field_2
33
- def assert_errors_on(record, *fields)
34
- unmatched = record.errors.keys - fields.flatten
35
- assert unmatched.blank?, "#{record.class} has errors on '#{unmatched.join(', ')}'"
36
- unmatched = fields.flatten - record.errors.keys
37
- assert unmatched.blank?, "#{record.class} doesn't have errors on '#{unmatched.join(', ')}'"
38
- end
39
-
40
- # Example usage:
41
- # assert_exception_raised do ... end
42
- # assert_exception_raised ActiveRecord::RecordInvalid do ... end
43
- # assert_exception_raised Plugin::Error, 'error_message' do ... end
44
- def assert_exception_raised(exception_class = nil, error_message = nil)
45
- exception_raised = nil
46
- yield
47
- rescue StandardError => exception_raised
48
- exception_raised
49
- ensure
50
- if exception_raised
51
- if exception_class
52
- assert_equal exception_class, exception_raised.class, exception_raised.to_s
53
- else
54
- assert true
55
- end
56
- assert_equal error_message, exception_raised.to_s if error_message
57
- else
58
- flunk "Exception was not raised"
59
- end
60
- end
61
-
62
- end
63
-
64
- class ActionDispatch::IntegrationTest
65
-
66
- setup :setup_host
67
-
68
- def setup_host
69
- host! "test.host"
70
- end
71
-
72
- # Attaching http_auth stuff with request. Example use:
73
- # r :get, '/cms-admin/pages'
74
- def r(method, path, options = {})
75
- headers = options[:headers] || {}
76
- headers["HTTP_AUTHORIZATION"] = ActionController::HttpAuthentication::Basic.encode_credentials(
77
- ComfortableMexicanSofa::AccessControl::AdminAuthentication.username,
78
- ComfortableMexicanSofa::AccessControl::AdminAuthentication.password
79
- )
80
- options[:headers] = headers
81
- send(method, path, options)
82
- end
83
-
84
- end
85
-
86
- class Rails::Generators::TestCase
87
-
88
- destination File.expand_path("../tmp", File.dirname(__FILE__))
89
-
90
- setup :prepare_destination,
91
- :prepare_files
92
-
93
- def prepare_files
94
- config_path = File.join(destination_root, "config")
95
- routes_path = File.join(config_path, "routes.rb")
96
- FileUtils.mkdir_p(config_path)
97
- FileUtils.touch(routes_path)
98
- File.open(routes_path, "w") do |f|
99
- f.write("Test::Application.routes.draw do\n\nend")
100
- end
101
- end
102
-
103
- def read_file(filename)
104
- File.read(
105
- File.join(
106
- File.expand_path("fixtures/generators", File.dirname(__FILE__)),
107
- filename
108
- )
109
- )
110
- end
111
-
112
- end