osm 1.2.14 → 1.2.15.dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/CHANGELOG.md +32 -0
- data/lib/osm/activity.rb +66 -35
- data/lib/osm/api.rb +7 -5
- data/lib/osm/badge.rb +371 -182
- data/lib/osm/badges.rb +28 -20
- data/lib/osm/event.rb +63 -55
- data/lib/osm/meeting.rb +56 -43
- data/lib/osm/member.rb +2 -2
- data/lib/osm/model.rb +1 -1
- data/spec/osm/activity_spec.rb +33 -17
- data/spec/osm/api_spec.rb +1 -1
- data/spec/osm/badge_spec.rb +562 -642
- data/spec/osm/badges_spec.rb +92 -51
- data/spec/osm/event_spec.rb +95 -75
- data/spec/osm/meeting_spec.rb +53 -50
- data/spec/osm/member_spec.rb +10 -0
- data/version.rb +1 -1
- metadata +4 -4
data/spec/osm/meeting_spec.rb
CHANGED
@@ -76,36 +76,6 @@ describe "Meeting" do
|
|
76
76
|
end
|
77
77
|
|
78
78
|
|
79
|
-
describe "Meeting::BadgeLink" do
|
80
|
-
|
81
|
-
it "Create" do
|
82
|
-
bl = Osm::Meeting::BadgeLink.new(
|
83
|
-
:badge_key => 'artist',
|
84
|
-
:badge_type => :activity,
|
85
|
-
:requirement_key => 'a_01',
|
86
|
-
:badge_section => :cubs,
|
87
|
-
:label => 'Cubs Artist Activity - A: Poster',
|
88
|
-
)
|
89
|
-
|
90
|
-
bl.badge_key.should == 'artist'
|
91
|
-
bl.badge_type.should == :activity
|
92
|
-
bl.requirement_key.should == 'a_01'
|
93
|
-
bl.badge_section.should == :cubs
|
94
|
-
bl.label.should == 'Cubs Artist Activity - A: Poster'
|
95
|
-
bl.valid?.should be_true
|
96
|
-
end
|
97
|
-
|
98
|
-
it "Sorts by label" do
|
99
|
-
a1 = Osm::Meeting::BadgeLink.new(:label => 'a')
|
100
|
-
a2 = Osm::Meeting::BadgeLink.new(:label => 'b')
|
101
|
-
|
102
|
-
data = [a2, a1]
|
103
|
-
data.sort.should == [a1, a2]
|
104
|
-
end
|
105
|
-
|
106
|
-
end
|
107
|
-
|
108
|
-
|
109
79
|
describe 'Using the API' do
|
110
80
|
|
111
81
|
it "Fetch the term's programme for a section" do
|
@@ -116,13 +86,19 @@ describe "Meeting" do
|
|
116
86
|
{"activityid" => "7", "title" => "Activity 7", "notes" => "", "eveningid" => "5"}
|
117
87
|
]},
|
118
88
|
"badgelinks" => {"5" => [{
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
89
|
+
'badge' => 'artist',
|
90
|
+
'badgeLongName' => 'Artist',
|
91
|
+
'badge_id' => '180',
|
92
|
+
'badge_version' => '0',
|
93
|
+
'badgetype' => 'activity',
|
94
|
+
'badgetypeLongName' => 'Activity',
|
95
|
+
'column_id' => '1234',
|
96
|
+
'columnname' => '1234',
|
97
|
+
'columnnameLongName' => 'Guide Dogs',
|
98
|
+
'data' => '',
|
99
|
+
'label' => 'Disability Awareness Activity Guide dogs',
|
100
|
+
'section' => 'cubs',
|
101
|
+
'sectionLongName' => 'Cubs',
|
126
102
|
}]},
|
127
103
|
}
|
128
104
|
FakeWeb.register_uri(:post, "https://www.onlinescoutmanager.co.uk/programme.php?action=getProgramme§ionid=3&termid=4", :body => body.to_json, :content_type => 'application/json')
|
@@ -149,11 +125,14 @@ describe "Meeting" do
|
|
149
125
|
activity.notes.should == 'Some notes'
|
150
126
|
meeting.badge_links.size.should == 1
|
151
127
|
badge_link = meeting.badge_links[0]
|
152
|
-
badge_link.badge_key.should == 'artist'
|
153
128
|
badge_link.badge_type.should == :activity
|
154
|
-
badge_link.requirement_key.should == 'a_01'
|
155
129
|
badge_link.badge_section.should == :cubs
|
156
|
-
badge_link.
|
130
|
+
badge_link.badge_name.should == 'Artist'
|
131
|
+
badge_link.badge_id.should == 180
|
132
|
+
badge_link.badge_version.should == 0
|
133
|
+
badge_link.requirement_id.should == 1234
|
134
|
+
badge_link.requirement_label.should == 'Guide Dogs'
|
135
|
+
badge_link.data.should == ''
|
157
136
|
end
|
158
137
|
|
159
138
|
it "Fetch badge requirements for a meeting (from API)" do
|
@@ -216,19 +195,34 @@ describe "Meeting" do
|
|
216
195
|
],
|
217
196
|
'badges' => [
|
218
197
|
{
|
219
|
-
'
|
220
|
-
'
|
221
|
-
'
|
222
|
-
'
|
223
|
-
'
|
224
|
-
'
|
198
|
+
'badge' => 'activity_firesafety',
|
199
|
+
'badgeLongName' => 'Fire Safety',
|
200
|
+
'badge_id' => '181',
|
201
|
+
'badge_version' => '0',
|
202
|
+
'badgetype' => 'activity',
|
203
|
+
'badgetypeLongName' => 'Activity',
|
204
|
+
'column_id' => '12345',
|
205
|
+
'columnname' => 'b_01',
|
206
|
+
'columnnameLongName' => 'B: Fire drill',
|
207
|
+
'data' => 'Yes',
|
208
|
+
'section' => 'cubs',
|
209
|
+
'sectionLongName' => 'Cubs',
|
225
210
|
}
|
226
211
|
]
|
227
212
|
}
|
213
|
+
|
228
214
|
FakeWeb.register_uri(:post, "https://www.onlinescoutmanager.co.uk/programme.php?action=getActivity&id=4", :body => activity_body.to_json, :content_type => 'application/json')
|
215
|
+
Osm::Activity.stub(:get) { Osm::Activity.new(:badges => [3]) }
|
229
216
|
|
230
|
-
meeting = Osm::Meeting.new(
|
231
|
-
|
217
|
+
meeting = Osm::Meeting.new(
|
218
|
+
:id => 2,
|
219
|
+
:date => Date.new(2000, 1, 2),
|
220
|
+
:section_id => 3,
|
221
|
+
:activities => [Osm::Meeting::Activity.new(:activity_id => 4)],
|
222
|
+
:badge_links => [1, 2],
|
223
|
+
)
|
224
|
+
|
225
|
+
meeting.get_badge_requirements(@api).should == [1, 2, 3]
|
232
226
|
end
|
233
227
|
|
234
228
|
it "Create a meeting (succeded)" do
|
@@ -311,7 +305,7 @@ describe "Meeting" do
|
|
311
305
|
'endtime' => nil, 'title' => 'Unnamed meeting', 'notesforparents' =>'', 'prenotes' => '',
|
312
306
|
'postnotes' => '', 'games' => '', 'leaders' => '',
|
313
307
|
'activity' => '[{"activityid":3,"notes":"Some notes"}]',
|
314
|
-
'badgelinks' => '[{"
|
308
|
+
'badgelinks' => '[{"badge_id":"181","badge_version":"0","column_id":"93384","badge":null,"badgeLongName":"Badge name","columnname":null,"columnnameLongName":"l","data":"","section":"beavers","sectionLongName":null,"badgetype":"activity","badgetypeLongName":null}]',
|
315
309
|
}
|
316
310
|
Osm::Term.stub(:get_for_section) { [] }
|
317
311
|
HTTParty.should_receive(:post).with(url, {:body => post_data}) { OsmTest::DummyHttpResult.new(:response=>{:code=>'200', :body=>'{"result":0}'}) }
|
@@ -321,7 +315,16 @@ describe "Meeting" do
|
|
321
315
|
:section_id=>2,
|
322
316
|
:date=>Date.new(2000, 01, 02),
|
323
317
|
:activities => [Osm::Meeting::Activity.new(:activity_id => 3, :title => 'Activity Title', :notes => 'Some notes')],
|
324
|
-
:badge_links => [Osm::Meeting::BadgeLink.new(
|
318
|
+
:badge_links => [Osm::Meeting::BadgeLink.new(
|
319
|
+
:badge_type => :activity,
|
320
|
+
:badge_section => :beavers,
|
321
|
+
:requirement_label => 'l',
|
322
|
+
:data => '',
|
323
|
+
:badge_name => 'Badge name',
|
324
|
+
:badge_id => 181,
|
325
|
+
:badge_version => 0,
|
326
|
+
:requirement_id => 93384,
|
327
|
+
)]
|
325
328
|
)
|
326
329
|
meeting.update(@api).should be_true
|
327
330
|
end
|
data/spec/osm/member_spec.rb
CHANGED
@@ -601,6 +601,16 @@ describe "Member" do
|
|
601
601
|
@member.myscout_link(@api, :details).should == 'https://www.onlinescoutmanager.co.uk/parents/details.php?sc=1&se=2&c=KEY-HERE'
|
602
602
|
end
|
603
603
|
|
604
|
+
it "Census detail entry" do
|
605
|
+
@member.stub(:myscout_link_key) { 'KEY-HERE' }
|
606
|
+
@member.myscout_link(@api, :census).should == 'https://www.onlinescoutmanager.co.uk/parents/census.php?sc=1&se=2&c=KEY-HERE'
|
607
|
+
end
|
608
|
+
|
609
|
+
it "Gift Aid consent" do
|
610
|
+
@member.stub(:myscout_link_key) { 'KEY-HERE' }
|
611
|
+
@member.myscout_link(@api, :giftaid).should == 'https://www.onlinescoutmanager.co.uk/parents/giftaid.php?sc=1&se=2&c=KEY-HERE'
|
612
|
+
end
|
613
|
+
|
604
614
|
end
|
605
615
|
|
606
616
|
end
|
data/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: osm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.15.dev
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Gauld
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -279,9 +279,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
279
279
|
version: '0'
|
280
280
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
281
281
|
requirements:
|
282
|
-
- - ! '
|
282
|
+
- - ! '>'
|
283
283
|
- !ruby/object:Gem::Version
|
284
|
-
version:
|
284
|
+
version: 1.3.1
|
285
285
|
requirements: []
|
286
286
|
rubyforge_project: osm
|
287
287
|
rubygems_version: 2.2.2
|