/
cities_controller_test.rb
60 lines (48 loc) · 1.78 KB
/
cities_controller_test.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
require 'test_helper'
require File.join('functional', 'crud_controller_test_helper')
class Admin::CitiesControllerTest < ActionController::TestCase
include CrudControllerTestHelper
def test_setup
assert_equal 3, City.count
assert_recognizes({:controller => 'admin/cities', :action => 'index', :country_id => '1'}, 'admin/countries/1/cities')
assert_recognizes({:controller => 'admin/cities', :action => 'show', :country_id => '2', :id => '1'}, 'admin/countries/2/cities/1')
end
def test_index
super
assert_equal test_entry.country.cities.order('countries.code, cities.name').to_a, entries.to_a
assert_equal @controller.send(:entries), assigns(:cities)
assert_equal [:admin, test_entry.country], @controller.send(:parents)
assert_equal test_entry.country, assigns(:country)
assert_equal test_entry.country, @controller.send(:parent)
assert_equal test_entry.country.cities, @controller.send(:model_scope)
assert_equal [:admin, test_entry.country, 2], @controller.send(:path_args, 2)
end
def test_show
super
assert_equal @controller.send(:entry), assigns(:city)
assert_equal [:admin, test_entry.country], @controller.send(:parents)
assert_equal test_entry.country, assigns(:country)
assert_equal test_entry.country, @controller.send(:parent)
end
#
def test_create
super
assert_equal test_entry.country, entry.country
end
def test_destroy_with_inhabitants
ny = cities(:ny)
assert_no_difference('City.count') do
request.env["HTTP_REFERER"]
delete :destroy, :country_id => ny.country_id, :id => ny.id
end
assert_redirected_to :action => 'show'
assert flash.alert
end
protected
def test_entry
cities(:rj)
end
def test_entry_attrs
{:name => 'Rejkiavik'}
end
end