carnival 0.2.8 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/app/assets/javascripts/carnival/vizir_admin.js.erb +7 -3
- data/app/controllers/carnival/base_admin_controller.rb +2 -7
- data/app/helpers/carnival/base_admin_helper.rb +1 -4
- data/app/helpers/carnival/field_renderers/field_renderer.rb +11 -1
- data/app/helpers/carnival/field_renderers/many_relation_renderer.rb +0 -7
- data/app/helpers/carnival/field_renderers/single_relation_renderer.rb +5 -8
- data/app/models/carnival/field.rb +4 -0
- data/app/presenters/carnival/base_admin_presenter.rb +55 -38
- data/app/presenters/carnival/dsl.rb +1 -1
- data/lib/carnival/version.rb +1 -1
- metadata +218 -382
- data/spec/dummy/README.rdoc +0 -28
- data/spec/dummy/Rakefile +0 -6
- data/spec/dummy/app/assets/javascripts/application.js +0 -13
- data/spec/dummy/app/assets/stylesheets/application.css +0 -15
- data/spec/dummy/app/controllers/admin/todo_lists_controller.rb +0 -7
- data/spec/dummy/app/controllers/admin/todos_controller.rb +0 -7
- data/spec/dummy/app/controllers/application_controller.rb +0 -5
- data/spec/dummy/app/helpers/application_helper.rb +0 -2
- data/spec/dummy/app/models/todo.rb +0 -7
- data/spec/dummy/app/models/todo_list.rb +0 -4
- data/spec/dummy/app/presenters/admin/todo_list_presenter.rb +0 -13
- data/spec/dummy/app/presenters/admin/todo_presenter.rb +0 -32
- data/spec/dummy/app/views/layouts/application.html.erb +0 -14
- data/spec/dummy/bin/bundle +0 -3
- data/spec/dummy/bin/rails +0 -4
- data/spec/dummy/bin/rake +0 -4
- data/spec/dummy/bin/setup +0 -29
- data/spec/dummy/config.ru +0 -4
- data/spec/dummy/config/application.rb +0 -15
- data/spec/dummy/config/boot.rb +0 -5
- data/spec/dummy/config/database.yml +0 -25
- data/spec/dummy/config/environment.rb +0 -5
- data/spec/dummy/config/environments/development.rb +0 -43
- data/spec/dummy/config/environments/production.rb +0 -79
- data/spec/dummy/config/environments/test.rb +0 -42
- data/spec/dummy/config/initializers/assets.rb +0 -11
- data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/spec/dummy/config/initializers/carnival_initializer.rb +0 -25
- data/spec/dummy/config/initializers/cookies_serializer.rb +0 -3
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +0 -4
- data/spec/dummy/config/initializers/inflections.rb +0 -16
- data/spec/dummy/config/initializers/mime_types.rb +0 -4
- data/spec/dummy/config/initializers/session_store.rb +0 -3
- data/spec/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/spec/dummy/config/locales/carnival.en.yml +0 -28
- data/spec/dummy/config/locales/carnival.pt-br.yml +0 -259
- data/spec/dummy/config/locales/en.yml +0 -23
- data/spec/dummy/config/routes.rb +0 -11
- data/spec/dummy/config/secrets.yml +0 -22
- data/spec/dummy/db/migrate/20150316021645_create_todos.rb +0 -10
- data/spec/dummy/db/migrate/20150408165317_create_todo_lists.rb +0 -8
- data/spec/dummy/db/migrate/20150408165333_add_todo_list_relation_to_todos.rb +0 -5
- data/spec/dummy/db/schema.rb +0 -32
- data/spec/dummy/public/404.html +0 -67
- data/spec/dummy/public/422.html +0 -67
- data/spec/dummy/public/500.html +0 -66
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/factories/todo_lists_factory.rb +0 -5
- data/spec/factories/todos_factory.rb +0 -18
- data/spec/features/create_spec.rb +0 -28
- data/spec/features/destroy_spec.rb +0 -11
- data/spec/features/index/basic_index_spec.rb +0 -14
- data/spec/features/index/pagination_spec.rb +0 -19
- data/spec/features/index/scope_spec.rb +0 -29
- data/spec/features/index/search_spec.rb +0 -28
- data/spec/features/show_spec.rb +0 -15
- data/spec/features/update_spec.rb +0 -26
- data/spec/rails_helper.rb +0 -33
- data/spec/spec_helper.rb +0 -9
- data/spec/support/features/index_helpers.rb +0 -15
data/spec/dummy/db/schema.rb
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
# This file is auto-generated from the current state of the database. Instead
|
3
|
-
# of editing this file, please use the migrations feature of Active Record to
|
4
|
-
# incrementally modify your database, and then regenerate this schema definition.
|
5
|
-
#
|
6
|
-
# Note that this schema.rb definition is the authoritative source for your
|
7
|
-
# database schema. If you need to create the application database on another
|
8
|
-
# system, you should be using db:schema:load, not running all the migrations
|
9
|
-
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
|
10
|
-
# you'll amass, the slower it'll run and the greater likelihood for issues).
|
11
|
-
#
|
12
|
-
# It's strongly recommended that you check this file into your version control system.
|
13
|
-
|
14
|
-
ActiveRecord::Schema.define(version: 20150408165333) do
|
15
|
-
|
16
|
-
create_table "todo_lists", force: :cascade do |t|
|
17
|
-
t.string "name"
|
18
|
-
t.datetime "created_at", null: false
|
19
|
-
t.datetime "updated_at", null: false
|
20
|
-
end
|
21
|
-
|
22
|
-
create_table "todos", force: :cascade do |t|
|
23
|
-
t.string "title"
|
24
|
-
t.integer "status", default: 0
|
25
|
-
t.datetime "created_at"
|
26
|
-
t.datetime "updated_at"
|
27
|
-
t.integer "todo_list_id"
|
28
|
-
end
|
29
|
-
|
30
|
-
add_index "todos", ["todo_list_id"], name: "index_todos_on_todo_list_id"
|
31
|
-
|
32
|
-
end
|
data/spec/dummy/public/404.html
DELETED
@@ -1,67 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
<title>The page you were looking for doesn't exist (404)</title>
|
5
|
-
<meta name="viewport" content="width=device-width,initial-scale=1">
|
6
|
-
<style>
|
7
|
-
body {
|
8
|
-
background-color: #EFEFEF;
|
9
|
-
color: #2E2F30;
|
10
|
-
text-align: center;
|
11
|
-
font-family: arial, sans-serif;
|
12
|
-
margin: 0;
|
13
|
-
}
|
14
|
-
|
15
|
-
div.dialog {
|
16
|
-
width: 95%;
|
17
|
-
max-width: 33em;
|
18
|
-
margin: 4em auto 0;
|
19
|
-
}
|
20
|
-
|
21
|
-
div.dialog > div {
|
22
|
-
border: 1px solid #CCC;
|
23
|
-
border-right-color: #999;
|
24
|
-
border-left-color: #999;
|
25
|
-
border-bottom-color: #BBB;
|
26
|
-
border-top: #B00100 solid 4px;
|
27
|
-
border-top-left-radius: 9px;
|
28
|
-
border-top-right-radius: 9px;
|
29
|
-
background-color: white;
|
30
|
-
padding: 7px 12% 0;
|
31
|
-
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
32
|
-
}
|
33
|
-
|
34
|
-
h1 {
|
35
|
-
font-size: 100%;
|
36
|
-
color: #730E15;
|
37
|
-
line-height: 1.5em;
|
38
|
-
}
|
39
|
-
|
40
|
-
div.dialog > p {
|
41
|
-
margin: 0 0 1em;
|
42
|
-
padding: 1em;
|
43
|
-
background-color: #F7F7F7;
|
44
|
-
border: 1px solid #CCC;
|
45
|
-
border-right-color: #999;
|
46
|
-
border-left-color: #999;
|
47
|
-
border-bottom-color: #999;
|
48
|
-
border-bottom-left-radius: 4px;
|
49
|
-
border-bottom-right-radius: 4px;
|
50
|
-
border-top-color: #DADADA;
|
51
|
-
color: #666;
|
52
|
-
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
53
|
-
}
|
54
|
-
</style>
|
55
|
-
</head>
|
56
|
-
|
57
|
-
<body>
|
58
|
-
<!-- This file lives in public/404.html -->
|
59
|
-
<div class="dialog">
|
60
|
-
<div>
|
61
|
-
<h1>The page you were looking for doesn't exist.</h1>
|
62
|
-
<p>You may have mistyped the address or the page may have moved.</p>
|
63
|
-
</div>
|
64
|
-
<p>If you are the application owner check the logs for more information.</p>
|
65
|
-
</div>
|
66
|
-
</body>
|
67
|
-
</html>
|
data/spec/dummy/public/422.html
DELETED
@@ -1,67 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
<title>The change you wanted was rejected (422)</title>
|
5
|
-
<meta name="viewport" content="width=device-width,initial-scale=1">
|
6
|
-
<style>
|
7
|
-
body {
|
8
|
-
background-color: #EFEFEF;
|
9
|
-
color: #2E2F30;
|
10
|
-
text-align: center;
|
11
|
-
font-family: arial, sans-serif;
|
12
|
-
margin: 0;
|
13
|
-
}
|
14
|
-
|
15
|
-
div.dialog {
|
16
|
-
width: 95%;
|
17
|
-
max-width: 33em;
|
18
|
-
margin: 4em auto 0;
|
19
|
-
}
|
20
|
-
|
21
|
-
div.dialog > div {
|
22
|
-
border: 1px solid #CCC;
|
23
|
-
border-right-color: #999;
|
24
|
-
border-left-color: #999;
|
25
|
-
border-bottom-color: #BBB;
|
26
|
-
border-top: #B00100 solid 4px;
|
27
|
-
border-top-left-radius: 9px;
|
28
|
-
border-top-right-radius: 9px;
|
29
|
-
background-color: white;
|
30
|
-
padding: 7px 12% 0;
|
31
|
-
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
32
|
-
}
|
33
|
-
|
34
|
-
h1 {
|
35
|
-
font-size: 100%;
|
36
|
-
color: #730E15;
|
37
|
-
line-height: 1.5em;
|
38
|
-
}
|
39
|
-
|
40
|
-
div.dialog > p {
|
41
|
-
margin: 0 0 1em;
|
42
|
-
padding: 1em;
|
43
|
-
background-color: #F7F7F7;
|
44
|
-
border: 1px solid #CCC;
|
45
|
-
border-right-color: #999;
|
46
|
-
border-left-color: #999;
|
47
|
-
border-bottom-color: #999;
|
48
|
-
border-bottom-left-radius: 4px;
|
49
|
-
border-bottom-right-radius: 4px;
|
50
|
-
border-top-color: #DADADA;
|
51
|
-
color: #666;
|
52
|
-
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
53
|
-
}
|
54
|
-
</style>
|
55
|
-
</head>
|
56
|
-
|
57
|
-
<body>
|
58
|
-
<!-- This file lives in public/422.html -->
|
59
|
-
<div class="dialog">
|
60
|
-
<div>
|
61
|
-
<h1>The change you wanted was rejected.</h1>
|
62
|
-
<p>Maybe you tried to change something you didn't have access to.</p>
|
63
|
-
</div>
|
64
|
-
<p>If you are the application owner check the logs for more information.</p>
|
65
|
-
</div>
|
66
|
-
</body>
|
67
|
-
</html>
|
data/spec/dummy/public/500.html
DELETED
@@ -1,66 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
<title>We're sorry, but something went wrong (500)</title>
|
5
|
-
<meta name="viewport" content="width=device-width,initial-scale=1">
|
6
|
-
<style>
|
7
|
-
body {
|
8
|
-
background-color: #EFEFEF;
|
9
|
-
color: #2E2F30;
|
10
|
-
text-align: center;
|
11
|
-
font-family: arial, sans-serif;
|
12
|
-
margin: 0;
|
13
|
-
}
|
14
|
-
|
15
|
-
div.dialog {
|
16
|
-
width: 95%;
|
17
|
-
max-width: 33em;
|
18
|
-
margin: 4em auto 0;
|
19
|
-
}
|
20
|
-
|
21
|
-
div.dialog > div {
|
22
|
-
border: 1px solid #CCC;
|
23
|
-
border-right-color: #999;
|
24
|
-
border-left-color: #999;
|
25
|
-
border-bottom-color: #BBB;
|
26
|
-
border-top: #B00100 solid 4px;
|
27
|
-
border-top-left-radius: 9px;
|
28
|
-
border-top-right-radius: 9px;
|
29
|
-
background-color: white;
|
30
|
-
padding: 7px 12% 0;
|
31
|
-
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
32
|
-
}
|
33
|
-
|
34
|
-
h1 {
|
35
|
-
font-size: 100%;
|
36
|
-
color: #730E15;
|
37
|
-
line-height: 1.5em;
|
38
|
-
}
|
39
|
-
|
40
|
-
div.dialog > p {
|
41
|
-
margin: 0 0 1em;
|
42
|
-
padding: 1em;
|
43
|
-
background-color: #F7F7F7;
|
44
|
-
border: 1px solid #CCC;
|
45
|
-
border-right-color: #999;
|
46
|
-
border-left-color: #999;
|
47
|
-
border-bottom-color: #999;
|
48
|
-
border-bottom-left-radius: 4px;
|
49
|
-
border-bottom-right-radius: 4px;
|
50
|
-
border-top-color: #DADADA;
|
51
|
-
color: #666;
|
52
|
-
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
53
|
-
}
|
54
|
-
</style>
|
55
|
-
</head>
|
56
|
-
|
57
|
-
<body>
|
58
|
-
<!-- This file lives in public/500.html -->
|
59
|
-
<div class="dialog">
|
60
|
-
<div>
|
61
|
-
<h1>We're sorry, but something went wrong.</h1>
|
62
|
-
</div>
|
63
|
-
<p>If you are the application owner check the logs for more information.</p>
|
64
|
-
</div>
|
65
|
-
</body>
|
66
|
-
</html>
|
File without changes
|
@@ -1,28 +0,0 @@
|
|
1
|
-
require 'rails_helper'
|
2
|
-
|
3
|
-
feature 'User creates a new model' do
|
4
|
-
scenario 'successfully' do
|
5
|
-
visit admin_todos_path
|
6
|
-
todo_title = 'Refactor Carnival'
|
7
|
-
todo_status = 'todo'
|
8
|
-
|
9
|
-
within('.empty-result') { click_on 'New' }
|
10
|
-
fill_in 'todo_title', with: todo_title
|
11
|
-
select todo_status, from: 'todo_status'
|
12
|
-
|
13
|
-
expect { click_on 'Create' }.to change { Todo.count }.from(0).to(1)
|
14
|
-
expect(page).to have_text(todo_title)
|
15
|
-
expect(page).to have_text(todo_status)
|
16
|
-
end
|
17
|
-
|
18
|
-
scenario 'incompletely' do
|
19
|
-
visit admin_todos_path
|
20
|
-
|
21
|
-
within('.empty-result') { click_on 'New' }
|
22
|
-
fill_in 'todo_title', with: ''
|
23
|
-
|
24
|
-
expect { click_on 'Create' }.to_not change { Todo.count }
|
25
|
-
expect(current_path).to eq(admin_todos_path)
|
26
|
-
expect(page).to have_text('Title can\'t be blank')
|
27
|
-
end
|
28
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
require 'rails_helper'
|
2
|
-
|
3
|
-
feature 'User sees existing todos' do
|
4
|
-
let!(:todos) { create_pair(:todo) }
|
5
|
-
|
6
|
-
scenario 'successfully' do
|
7
|
-
visit admin_todos_path
|
8
|
-
|
9
|
-
todos.each do |todo|
|
10
|
-
expect(page).to have_selector('td', text: todo.id)
|
11
|
-
expect(page).to have_selector('td', text: todo.title)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
require 'rails_helper'
|
2
|
-
|
3
|
-
feature 'User paginates existing todos', js: true do
|
4
|
-
let!(:todo_count) { 51 }
|
5
|
-
let!(:todos) { create_list(:todo, todo_count) }
|
6
|
-
let!(:last_todo) { todos.last }
|
7
|
-
|
8
|
-
scenario 'successfully' do
|
9
|
-
visit admin_todos_path
|
10
|
-
|
11
|
-
expect(page).to have_text("Total: #{todo_count}")
|
12
|
-
|
13
|
-
find('a', text: 'Next »').click
|
14
|
-
|
15
|
-
expect(page).to have_selector('td', text: last_todo.id)
|
16
|
-
expect(page).to have_selector('td', text: last_todo.title)
|
17
|
-
expect(page).to have_selector('span.carnival-selected-page-button', text: '2')
|
18
|
-
end
|
19
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
require 'rails_helper'
|
2
|
-
|
3
|
-
feature 'User sees scoped data' do
|
4
|
-
let!(:todo_todos) { create_pair(:todo, :todo) }
|
5
|
-
let!(:doing_todos) { create_list(:todo, 3, :doing) }
|
6
|
-
let!(:done_todos) { create_pair(:todo, :done) }
|
7
|
-
|
8
|
-
scenario 'successfully', js: true do
|
9
|
-
visit admin_todos_path
|
10
|
-
|
11
|
-
find('a', text: 'Todo (2)').click
|
12
|
-
|
13
|
-
page_should_have_todos todo_todos
|
14
|
-
page_should_not_have_todos doing_todos
|
15
|
-
page_should_not_have_todos done_todos
|
16
|
-
|
17
|
-
find('a', text: 'Doing (3)').click
|
18
|
-
|
19
|
-
page_should_have_todos doing_todos
|
20
|
-
page_should_not_have_todos todo_todos
|
21
|
-
page_should_not_have_todos done_todos
|
22
|
-
|
23
|
-
find('a', text: 'Done (2)').click
|
24
|
-
|
25
|
-
page_should_have_todos done_todos
|
26
|
-
page_should_not_have_todos todo_todos
|
27
|
-
page_should_not_have_todos doing_todos
|
28
|
-
end
|
29
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
require 'rails_helper'
|
2
|
-
|
3
|
-
feature 'User filters existing todos', js: true do
|
4
|
-
let!(:search_todo) { create(:todo) }
|
5
|
-
let!(:missing_todo) { create(:todo) }
|
6
|
-
|
7
|
-
scenario 'successfully' do
|
8
|
-
visit admin_todos_path
|
9
|
-
|
10
|
-
click_on 'Advanced Search'
|
11
|
-
fill_in 'advanced_search[title]', with: search_todo.title
|
12
|
-
click_on 'Search'
|
13
|
-
|
14
|
-
expect(page).to have_text(search_todo.title)
|
15
|
-
expect(page).to have_no_text(missing_todo.title)
|
16
|
-
end
|
17
|
-
|
18
|
-
scenario 'User filter by todo_list name' do
|
19
|
-
visit admin_todos_path
|
20
|
-
|
21
|
-
click_on 'Advanced Search'
|
22
|
-
fill_in 'advanced_search[todo_list.name]', with: search_todo.todo_list.name
|
23
|
-
click_on 'Search'
|
24
|
-
|
25
|
-
expect(page).to have_text(search_todo.title)
|
26
|
-
expect(page).to have_no_text(missing_todo.title)
|
27
|
-
end
|
28
|
-
end
|
data/spec/features/show_spec.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
require 'rails_helper'
|
2
|
-
|
3
|
-
feature 'User sees a specific todos' do
|
4
|
-
let!(:todo) { create(:todo) }
|
5
|
-
|
6
|
-
scenario 'successfully' do
|
7
|
-
visit admin_todos_path
|
8
|
-
|
9
|
-
click_on 'View'
|
10
|
-
|
11
|
-
expect(current_path).to eq(admin_todo_path(todo.id))
|
12
|
-
expect(page).to have_text(todo.id)
|
13
|
-
expect(page).to have_text(todo.title)
|
14
|
-
end
|
15
|
-
end
|