Commit 4036bff7f2c30a414ffc0e332c467f7966624bc4
1 parent
b3e9a31e
Exists in
caching-rails4
Added test
Showing
1 changed file
with
74 additions
and
0 deletions
Show diff stats
... | ... | @@ -0,0 +1,74 @@ |
1 | +require 'test_helper' | |
2 | + | |
3 | +# Controllers to be tested | |
4 | +class CachingTestController < HomeController | |
5 | + | |
6 | +end | |
7 | + | |
8 | +# Test case | |
9 | +class BlockCacheTest < ActionController::TestCase | |
10 | + | |
11 | + CACHE_DIR = 'block_cache_test' | |
12 | + FILE_STORE_PATH = Rails.root.join('tmp/test', CACHE_DIR) | |
13 | + | |
14 | + tests CachingTestController | |
15 | + | |
16 | + def setup | |
17 | + #super | |
18 | + | |
19 | + ActionController::Base.perform_caching = true | |
20 | + ActionController::Base.page_cache_directory = FILE_STORE_PATH | |
21 | + ActionController::Base.cache_store = :file_store, FILE_STORE_PATH | |
22 | + | |
23 | + FileUtils.rm_rf(File.dirname(FILE_STORE_PATH)) | |
24 | + FileUtils.mkdir_p(FILE_STORE_PATH) | |
25 | + | |
26 | + @environment = Environment.default | |
27 | + @environment.enable_plugin('EventPlugin') | |
28 | + | |
29 | + @environment.locales.delete_if {|key, value| key != "en" } | |
30 | + | |
31 | + box = Box.create!(:owner => @environment) | |
32 | + @block = EventPlugin::EventBlock.create!(:box => box) | |
33 | + | |
34 | + @person = fast_create(Person, :environment_id => @environment.id) | |
35 | + @event1 = Event.create!(:name=>'Event 1', :profile =>@person) | |
36 | + | |
37 | + end | |
38 | + | |
39 | + # Event item CSS selector | |
40 | + ev = '.event-plugin_event-block ul.events li.event[itemscope]' + | |
41 | + '[itemtype="http://data-vocabulary.org/Event"] ' | |
42 | + | |
43 | + def teardown | |
44 | + FileUtils.rm_rf(File.dirname(FILE_STORE_PATH)) | |
45 | + ActionController::Base.perform_caching = false | |
46 | + end | |
47 | + | |
48 | + should 'update event block cache' do | |
49 | + @event1.slug = 'event1a' | |
50 | + @event1.start_date = DateTime.now | |
51 | + @event1.end_date = DateTime.now + 3.day | |
52 | + @event1.save! | |
53 | + | |
54 | + get :index | |
55 | + entries = Dir.entries(FILE_STORE_PATH) | |
56 | + # Assert cache dir was created | |
57 | + assert entries.count == 3 | |
58 | + | |
59 | + assert_select ev + 'time.duration[itemprop="endDate"]', /4 days/ | |
60 | + | |
61 | + # Change the event | |
62 | + @event1.reload | |
63 | + @event1.start_date = DateTime.now | |
64 | + @event1.end_date = DateTime.now + 5.day | |
65 | + @event1.save! | |
66 | + | |
67 | + get :index | |
68 | + | |
69 | + entries = Dir.entries(FILE_STORE_PATH) | |
70 | + | |
71 | + assert_select ev + 'time.duration[itemprop="endDate"]', /6 days/ | |
72 | + end | |
73 | + | |
74 | +end | |
0 | 75 | \ No newline at end of file | ... | ... |