clndr-rails 1.2.5.1 → 1.2.5.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +11 -2
- data/lib/clndr-rails.rb +196 -171
- data/lib/clndr-rails/config.rb +48 -34
- data/lib/clndr-rails/engine.rb +1 -0
- data/lib/clndr-rails/errors.rb +1 -0
- data/lib/clndr-rails/helpers.rb +13 -13
- data/lib/clndr-rails/templates.rb +46 -43
- data/lib/clndr-rails/version.rb +1 -1
- data/test/dummy/app/controllers/base_controller.rb +5 -5
- data/test/dummy/app/views/base/index.html.erb +5 -1
- data/test/dummy/config/initializers/clndr.rb +23 -25
- data/test/dummy/log/development (/320/232/320/276/320/275/321/204/320/273/320/270/320/272/321/202/321/203/321/216/321/211/320/260/321/217 /320/272/320/276/320/277/320/270/321/217 /321/201 /320/272/320/276/320/274/320/277/321/214/321/216/321/202/320/265/321/200/320/260 DELTAPC2 2014-12-25).log" +19726 -0
- data/test/dummy/log/development.log +236 -0
- data/test/dummy/log/test.log +12484 -0
- data/test/dummy/spec/rails_helper.rb +2 -2
- data/test/dummy/spec/views/base/index.html.erb_spec.rb +4 -4
- data/test/dummy/test/helpers/base_helper_test.rb +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/003c68cd1f3ba2d6344147bb52d8fd1a +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/08b993c8e83ad57a4ecb8d753b4620d5 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/1d658adc7cb09c209c423c9138dbacee +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/28cfd59c37a42a9ea808d622b0177c86 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/4ad6cd41e5b645f9ceef10b1e3baea77 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/6c33e774b86f9ef5ba24ffbe52bed674 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/7b51783beb0f6f17617f87ef5d2688e3 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/9334f44096c23e8904784b524e6ae750 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/954c1c7328e5b9c43abd84f4981286c7 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/9bd8392ddf2b52be4b455e52a628d169 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/9c89c900cca1bf92a5f29c304d323256 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/9e158358644b7e1cbee43defd7d7b449 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/a086b63b827c2bdef684cc4985c925fc +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/a62be18dea33018456ea9b72b4a9e10b +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/ad861213dbd41ab02600f740c9bb1dee +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/ae0ae68c837285b67a4fc1df4dddb939 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c744c093e347d6c90bc75206f502a48e +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/cc517e4ba5ef452b08d1ab48925b952d +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/dc767a0bb27fb390899cd7e6ff34b310 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/e59e1f3e795e9486fffbc3b4ad0baaca +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/e7296c70ca399cdcc73806b4a9481fde +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/test/dummy/tmp/pids/server.pid +1 -1
- data/test/spec/clnd-rails_spec.rb +29 -0
- data/test/spec/configuration_spec.rb +123 -0
- data/test/spec/events_spec.rb +63 -0
- data/test/spec/html_spec.rb +200 -0
- data/test/spec/rails_helper.rb +0 -0
- data/test/spec/spec_helper.rb +16 -0
- data/test/spec/templates_spec.rb +71 -0
- metadata +54 -3
- data/config/routes.rb +0 -2
@@ -1,7 +1,7 @@
|
|
1
1
|
# This file is copied to spec/ when you run 'rails generate rspec:install'
|
2
|
-
ENV[
|
2
|
+
ENV['RAILS_ENV'] ||= 'test'
|
3
3
|
require 'spec_helper'
|
4
|
-
require File.expand_path(
|
4
|
+
require File.expand_path('../../config/environment', __FILE__)
|
5
5
|
require 'rspec/rails'
|
6
6
|
# Add additional requires below this line. Rails is not loaded until this point!
|
7
7
|
|
@@ -1,16 +1,16 @@
|
|
1
1
|
require 'rails_helper'
|
2
2
|
|
3
|
-
RSpec.describe
|
4
|
-
it
|
3
|
+
RSpec.describe 'base/index.html.erb', :js => true do
|
4
|
+
it 'should show calendar' do
|
5
5
|
visit root_path
|
6
6
|
expect(page).to have_css('div.clndr')
|
7
7
|
end
|
8
8
|
|
9
|
-
it
|
9
|
+
it 'should have full calendar' do
|
10
10
|
expect(page).to have_css('div.event-listing')
|
11
11
|
end
|
12
12
|
|
13
|
-
it
|
13
|
+
it 'should have blank calendar' do
|
14
14
|
expect(page).to have_selector('table')
|
15
15
|
end
|
16
16
|
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
11180
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require_relative './spec_helper'
|
2
|
+
|
3
|
+
describe Clndr do
|
4
|
+
describe 'Create and find calendar method' do
|
5
|
+
before :all do
|
6
|
+
Clndr.new(:test1)
|
7
|
+
Clndr.new(:test2)
|
8
|
+
end
|
9
|
+
|
10
|
+
it '#new should add calendar to calendar bean' do
|
11
|
+
expect(Clndr.calendar_basket[:test1]).to be_instance_of Clndr
|
12
|
+
expect(Clndr.calendar_basket[:test2]).to be_instance_of Clndr
|
13
|
+
expect(Clndr.calendar_basket[:test3]).to be_nil
|
14
|
+
end
|
15
|
+
|
16
|
+
it '#get_calendar should return calendar' do
|
17
|
+
expect(Clndr.get_calendar(:test1)).to be_instance_of Clndr
|
18
|
+
end
|
19
|
+
|
20
|
+
it '#get_calendar should raise exception if calendar not found' do
|
21
|
+
expect{Clndr.get_calendar(:undefined)}.to raise_error(Clndr::Error::CalendarNotFound)
|
22
|
+
end
|
23
|
+
|
24
|
+
it '#new should create calendar with string name' do
|
25
|
+
Clndr.new('test calendar')
|
26
|
+
expect(Clndr.get_calendar('test calendar')).to be_instance_of Clndr
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,123 @@
|
|
1
|
+
require_relative './spec_helper'
|
2
|
+
|
3
|
+
describe 'Clndr configuration' do
|
4
|
+
shared_examples 'configurable' do
|
5
|
+
|
6
|
+
it 'should be configurable' do
|
7
|
+
expect(@calendar.template).to eq(Clndr::Template::SIMPLE)
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'should get week_offset from config' do
|
11
|
+
expect(@calendar.week_offset).to eq(0)
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'should get start_with_month config' do
|
15
|
+
expect(@calendar.start_with_month).to eq('2014-12-31')
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'should get days_of_week config' do
|
19
|
+
expect(@calendar.days_of_the_week.first).to eq('x')
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'should get click_events config' do
|
23
|
+
expect(@calendar.click_event[:click]).to include('js_function')
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'should get targets config' do
|
27
|
+
expect(@calendar.target[:nextButton]).to include('class')
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'should get show_adjacent_months config' do
|
31
|
+
expect(@calendar.show_adjacent_months).to be_falsey
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'should get adjacent_days_change_month config' do
|
35
|
+
expect(@calendar.adjacent_days_change_month).to be_truthy
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'should get done_rendering config' do
|
39
|
+
expect(@calendar.done_rendering).to include('callbaks_function')
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'should get constraints_start config' do
|
43
|
+
expect(@calendar.constraints_start).to eq('2014-12-31')
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'should get constraints_end config' do
|
47
|
+
expect(@calendar.constraints_end).to eq('2014-12-31')
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'should get force_six_rows config' do
|
51
|
+
expect(@calendar.force_six_rows).to be_falsey
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
context 'init' do
|
56
|
+
before do
|
57
|
+
Clndr.configure do |config|
|
58
|
+
config.template = Clndr::Template::SIMPLE
|
59
|
+
config.week_offset = false
|
60
|
+
config.start_with_month = '2014-12-31'
|
61
|
+
config.days_of_the_week =['x'] * 7
|
62
|
+
config.click_events do |event|
|
63
|
+
event[:click] ='some_js_function(){}'
|
64
|
+
end
|
65
|
+
config.targets do |target|
|
66
|
+
target[:nextButton] = '.some_class'
|
67
|
+
end
|
68
|
+
config.show_adjacent_months = false
|
69
|
+
config.adjacent_days_change_month = true
|
70
|
+
config.done_rendering = 'some_callbaks_function(){}'
|
71
|
+
config.constraints_start = '2014-12-31'
|
72
|
+
config.constraints_end = '2014-12-31'
|
73
|
+
config.force_six_rows = false
|
74
|
+
end
|
75
|
+
|
76
|
+
@calendar = Clndr.new(:test)
|
77
|
+
end
|
78
|
+
it_should_behave_like 'configurable'
|
79
|
+
|
80
|
+
it 'should convert week_offset config to digit' do
|
81
|
+
Clndr.configure{|config| config.week_offset = true}
|
82
|
+
@calendar = Clndr.new :test
|
83
|
+
expect(@calendar.week_offset).to eq(1)
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
context 'dinamycaly change config' do
|
88
|
+
before :each do
|
89
|
+
@calendar = Clndr.new(:test)
|
90
|
+
@calendar.template = Clndr::Template::SIMPLE
|
91
|
+
@calendar.week_offset = false
|
92
|
+
@calendar.start_with_month = '2014-12-31'
|
93
|
+
@calendar.days_of_the_week =['x'] * 7
|
94
|
+
@calendar.click_event[:click] ='some_js_function(){}'
|
95
|
+
@calendar.target[:nextButton] = '.some_class'
|
96
|
+
@calendar.show_adjacent_months = false
|
97
|
+
@calendar.adjacent_days_change_month = true
|
98
|
+
@calendar.done_rendering = 'some_callbaks_function(){}'
|
99
|
+
@calendar.constraints_start = '2014-12-31'
|
100
|
+
@calendar.constraints_end = '2014-12-31'
|
101
|
+
@calendar.force_six_rows = false
|
102
|
+
end
|
103
|
+
it_should_behave_like 'configurable'
|
104
|
+
|
105
|
+
it 'should convert week_offset config to digit' do
|
106
|
+
@calendar.week_offset = true
|
107
|
+
expect(@calendar.week_offset).to eq(1)
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
it 'should fall to default settings when #defaul_settings call' do
|
112
|
+
Clndr.default_settings
|
113
|
+
expect(Clndr.new(:test).template).to eq(Clndr::Template::BLANK)
|
114
|
+
end
|
115
|
+
|
116
|
+
it 'should raise exception if date format wrong' do
|
117
|
+
expect{Clndr.configure{|config| config.start_with_month = 'dsf'}}.to raise_error(Clndr::Error::WrongDateFormat)
|
118
|
+
expect{Clndr.configure{|config| config.constraints_start = 'dsf'}}.to raise_error(Clndr::Error::WrongDateFormat)
|
119
|
+
expect{Clndr.configure{|config| config.constraints_end = 'dsf'}}.to raise_error(Clndr::Error::WrongDateFormat)
|
120
|
+
|
121
|
+
end
|
122
|
+
|
123
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
require_relative './spec_helper'
|
2
|
+
|
3
|
+
describe 'Clndr event' do
|
4
|
+
before do
|
5
|
+
@test = Clndr.new :test
|
6
|
+
end
|
7
|
+
|
8
|
+
shared_examples 'event' do
|
9
|
+
it "should receive Date and Title" do
|
10
|
+
@test.send(method_for_test,*args)
|
11
|
+
expect(@test.events.length).to eq(1)
|
12
|
+
end
|
13
|
+
|
14
|
+
it "can receive other_data" do
|
15
|
+
@test.send(method_for_test,*args,info:'info',msg:'msg',address:'adress')
|
16
|
+
expect(@test.events.first.has_key?(:info)).to be_truthy
|
17
|
+
expect(@test.events.first.has_key?(:msg)).to be_truthy
|
18
|
+
expect(@test.events.first.has_key?(:address)).to be_truthy
|
19
|
+
end
|
20
|
+
|
21
|
+
|
22
|
+
it " should add event to events array" do
|
23
|
+
@test.send(method_for_test,*args)
|
24
|
+
@test.send(method_for_test,*args,some_info:'info')
|
25
|
+
expect(@test.events.length).to eq(2)
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'should raise exeption when recive wrong data format' do
|
29
|
+
expect{@test.send(method_for_test,*wrong_args)}.to raise_error(Clndr::Error::WrongDateFormat)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
context 'add event'do
|
33
|
+
it_should_behave_like 'event' do
|
34
|
+
let(:method_for_test){:add_event}
|
35
|
+
let(:args){[Time.now,'Title']}
|
36
|
+
let(:wrong_args){['wrong date','Title']}
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
context 'add multiday event'do
|
41
|
+
it_should_behave_like 'event' do
|
42
|
+
let(:method_for_test){:add_multiday_event}
|
43
|
+
let(:args){[Time.now,Time.now,'Title']}
|
44
|
+
let(:wrong_args){['wrong date','wrong date','Title']}
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
context 'build events string' do
|
49
|
+
it '.build_events should delete elements from events array' do
|
50
|
+
@test.add_event(Time.now,'test1')
|
51
|
+
@test.add_event(Time.now,'test2',some_info:'info')
|
52
|
+
@test.send(:build_events)
|
53
|
+
expect(@test.events.length).to eq(0)
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'should contain multiDayEvents if calendar contain multiday event' do
|
57
|
+
@test.add_multiday_event Time.now, Time.now, 'Title', spme_info:'info'
|
58
|
+
expect(@test.view).to include('multiDayEvents:')
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
@@ -0,0 +1,200 @@
|
|
1
|
+
require_relative './spec_helper'
|
2
|
+
|
3
|
+
describe 'Clndr generate html' do
|
4
|
+
before do
|
5
|
+
Clndr.default_settings
|
6
|
+
@test = Clndr.new(:test)
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'by .view method' do
|
10
|
+
expect(@test.view).to include('id="test-clndr"')
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'by .view method with html_options' do
|
14
|
+
expect(@test.view(id:'some-test-id')).to include('some-test-id')
|
15
|
+
expect(@test.view(id:'some-test-id', class:'some-test-class')).to include('some-test-class')
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'by show_calendar method' do
|
19
|
+
expect(show_calendar(:test)).to eq(@test.view)
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'by show_calendar with html_options' do
|
23
|
+
expect(show_calendar(:test,id:'some-test-id',class:'some-test-class')).to eq(@test.view(id:'some-test-id',class:'some-test-class'))
|
24
|
+
end
|
25
|
+
|
26
|
+
context 'with clndr option' do
|
27
|
+
shared_examples 'valid generator' do
|
28
|
+
|
29
|
+
it 'return nothing if parametr is default' do
|
30
|
+
expect(@test.view).not_to include("#{parameter}:")
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'return valid parametr' do
|
34
|
+
@test.send(option,value)
|
35
|
+
expect(@test.view).to include("#{parameter}:#{valid_value}")
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
context 'template' do
|
41
|
+
it_should_behave_like 'valid generator' do
|
42
|
+
let(:option){ :template=}
|
43
|
+
let(:value){Clndr::Template::SIMPLE}
|
44
|
+
let(:valid_value){value}
|
45
|
+
let(:parameter){'template'}
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
context 'days_of_the_week' do
|
50
|
+
it_should_behave_like 'valid generator' do
|
51
|
+
let(:option){ :days_of_the_week=}
|
52
|
+
let(:value){['x']*6}
|
53
|
+
let(:valid_value){value}
|
54
|
+
let(:parameter){'daysOfTheWeek'}
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
context 'show_adjacent_months' do
|
59
|
+
it_should_behave_like 'valid generator' do
|
60
|
+
let(:option){ :show_adjacent_months=}
|
61
|
+
let(:value){false}
|
62
|
+
let(:valid_value){value}
|
63
|
+
let(:parameter){'showAdjacentMonths'}
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
context 'adjacent_days_change_month' do
|
68
|
+
it_should_behave_like 'valid generator' do
|
69
|
+
let(:option){ :adjacent_days_change_month=}
|
70
|
+
let(:value){Time.now}
|
71
|
+
let(:valid_value){value}
|
72
|
+
let(:parameter){'adjacentDaysChangeMonth'}
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
context 'done_rendering' do
|
77
|
+
it_should_behave_like 'valid generator' do
|
78
|
+
let(:option){ :done_rendering=}
|
79
|
+
let(:value){'jsfunc(){}'}
|
80
|
+
let(:valid_value){value}
|
81
|
+
let(:parameter){'doneRendering'}
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
context 'constraints_end' do
|
86
|
+
it_should_behave_like 'valid generator' do
|
87
|
+
let(:option){ :constraints_end=}
|
88
|
+
let(:value){Time.now}
|
89
|
+
let(:valid_value){" {endDate:'#{Time.now.strftime('%F')}'"}
|
90
|
+
let(:parameter){'constraints'}
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
context 'constraints_start' do
|
95
|
+
it_should_behave_like 'valid generator' do
|
96
|
+
let(:option){ :constraints_start=}
|
97
|
+
let(:value){Time.now}
|
98
|
+
let(:valid_value){" {startDate:'#{Time.now.strftime('%F')}'"}
|
99
|
+
let(:parameter){'constraints'}
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
context 'click_events' do
|
104
|
+
it 'return nothing if parametr is default' do
|
105
|
+
expect(@test.view).not_to include('clickEvent')
|
106
|
+
end
|
107
|
+
|
108
|
+
it 'return valid parametr' do
|
109
|
+
@test.click_event[:click]='some_js(){}'
|
110
|
+
expect(@test.view).to include('clickEvents: {click:some_js(){},}')
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
context 'targets' do
|
115
|
+
it 'return nothing if parametr is default' do
|
116
|
+
expect(@test.view).not_to include('targets')
|
117
|
+
end
|
118
|
+
|
119
|
+
it 'return valid parametr' do
|
120
|
+
@test.target[:nextButton]='.class'
|
121
|
+
expect(@test.view).to include("targets: {nextButton:'.class'")
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
context 'force_six_rows' do
|
126
|
+
it 'return true if parametr is default' do
|
127
|
+
expect(@test.view).to include('forceSixRows:true')
|
128
|
+
end
|
129
|
+
|
130
|
+
it 'return nothing if false' do
|
131
|
+
@test.force_six_rows= false
|
132
|
+
expect(@test.view).not_to include('forceSixRows:')
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
context 'week_offset' do
|
137
|
+
it 'return 1 if parametr is default' do
|
138
|
+
expect(@test.view).to include('weekOffset:1')
|
139
|
+
end
|
140
|
+
|
141
|
+
it 'return nothing if 0' do
|
142
|
+
@test.week_offset = false
|
143
|
+
expect(@test.view).not_to include('weekOffset:0')
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
147
|
+
context 'event' do
|
148
|
+
it 'should havent events if events not add' do
|
149
|
+
expect(@test.view).not_to include('events:')
|
150
|
+
end
|
151
|
+
end
|
152
|
+
end
|
153
|
+
|
154
|
+
context 'Link helpers' do
|
155
|
+
before :all do
|
156
|
+
Clndr.new :helpers
|
157
|
+
end
|
158
|
+
shared_examples 'navigate link' do
|
159
|
+
it 'genearete link' do
|
160
|
+
expect(self.send(link_type,:helpers,link_type.to_s)).to include("helpers.#{js}")
|
161
|
+
end
|
162
|
+
it 'generate link with some html_options' do
|
163
|
+
expect(self.send(link_type,:helpers,link_type.to_s,style:'color:red;')).to include('style="color:red;"')
|
164
|
+
end
|
165
|
+
|
166
|
+
it 'generate link with available CLNDR callbacks' do
|
167
|
+
expect(self.send(link_type,:helpers,link_type.to_s){true}).to include("withCallbacks: true")
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
171
|
+
context 'next_month_link' do
|
172
|
+
it_should_behave_like 'navigate link' do
|
173
|
+
let(:link_type){:next_month_link}
|
174
|
+
let(:js){'forward'}
|
175
|
+
end
|
176
|
+
end
|
177
|
+
|
178
|
+
context 'previous_month_link' do
|
179
|
+
it_should_behave_like 'navigate link' do
|
180
|
+
let(:link_type){:previous_month_link}
|
181
|
+
let(:js){'back'}
|
182
|
+
end
|
183
|
+
end
|
184
|
+
|
185
|
+
context 'next_year_link' do
|
186
|
+
it_should_behave_like 'navigate link' do
|
187
|
+
let(:link_type){:next_year_link}
|
188
|
+
let(:js){'nextYear'}
|
189
|
+
end
|
190
|
+
end
|
191
|
+
|
192
|
+
context 'previous_year_link' do
|
193
|
+
it_should_behave_like 'navigate link' do
|
194
|
+
let(:link_type){:previous_year_link}
|
195
|
+
let(:js){'previousYear'}
|
196
|
+
end
|
197
|
+
end
|
198
|
+
end
|
199
|
+
|
200
|
+
end
|