sms_aero 0.0.11 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +3 -6
  3. data/CHANGELOG.md +15 -10
  4. data/README.md +25 -30
  5. data/lib/sms_aero.rb +119 -34
  6. data/lib/sms_aero/birthday.rb +12 -0
  7. data/lib/sms_aero/callable.rb +6 -0
  8. data/lib/sms_aero/channel.rb +15 -0
  9. data/lib/sms_aero/digital.rb +7 -0
  10. data/lib/sms_aero/filled_string.rb +11 -0
  11. data/lib/sms_aero/future.rb +16 -0
  12. data/lib/sms_aero/group.rb +11 -0
  13. data/lib/sms_aero/optional.rb +15 -0
  14. data/lib/sms_aero/phone.rb +11 -0
  15. data/lib/sms_aero/response.rb +30 -0
  16. data/lib/sms_aero/response/with_balance.rb +5 -0
  17. data/lib/sms_aero/response/with_groups.rb +5 -0
  18. data/lib/sms_aero/response/with_id.rb +9 -0
  19. data/lib/sms_aero/response/with_senders.rb +5 -0
  20. data/lib/sms_aero/response/with_statuses.rb +5 -0
  21. data/lib/sms_aero/response/with_tariff.rb +5 -0
  22. data/lib/sms_aero/tariff.rb +8 -0
  23. data/sms_aero.gemspec +2 -4
  24. data/spec/{sms_aero/types → models}/birthday_spec.rb +2 -2
  25. data/spec/{sms_aero/types → models}/channel_spec.rb +2 -2
  26. data/spec/{sms_aero/types → models}/digital_spec.rb +1 -1
  27. data/spec/{sms_aero/types → models}/future_spec.rb +5 -5
  28. data/spec/{sms_aero/types → models}/phone_spec.rb +1 -1
  29. data/spec/{sms_aero/operations → operations}/add_blacklist_spec.rb +19 -3
  30. data/spec/{sms_aero/operations → operations}/add_group_spec.rb +4 -4
  31. data/spec/{sms_aero/operations → operations}/add_phone_spec.rb +39 -76
  32. data/spec/{sms_aero/operations → operations}/check_balance_spec.rb +2 -4
  33. data/spec/{sms_aero/operations → operations}/check_groups_spec.rb +0 -0
  34. data/spec/{sms_aero/operations → operations}/check_senders_spec.rb +5 -5
  35. data/spec/{sms_aero/operations → operations}/check_sending_spec.rb +3 -3
  36. data/spec/{sms_aero/operations → operations}/check_sign_spec.rb +2 -2
  37. data/spec/{sms_aero/operations → operations}/check_status_spec.rb +3 -3
  38. data/spec/{sms_aero/operations → operations}/check_tariff_spec.rb +1 -1
  39. data/spec/{sms_aero/operations → operations}/delete_group_spec.rb +3 -3
  40. data/spec/{sms_aero/operations → operations}/delete_phone_spec.rb +4 -4
  41. data/spec/{sms_aero/operations → operations}/send_sms_spec.rb +49 -11
  42. data/spec/spec_helper.rb +4 -1
  43. data/spec/support/en.yml +8 -0
  44. metadata +61 -101
  45. data/lib/sms_aero/models/answer.rb +0 -8
  46. data/lib/sms_aero/models/sms.rb +0 -16
  47. data/lib/sms_aero/models/tariff.rb +0 -8
  48. data/lib/sms_aero/operations/add_blacklist.rb +0 -11
  49. data/lib/sms_aero/operations/add_group.rb +0 -11
  50. data/lib/sms_aero/operations/add_phone.rb +0 -17
  51. data/lib/sms_aero/operations/check_balance.rb +0 -11
  52. data/lib/sms_aero/operations/check_groups.rb +0 -12
  53. data/lib/sms_aero/operations/check_senders.rb +0 -15
  54. data/lib/sms_aero/operations/check_sending.rb +0 -11
  55. data/lib/sms_aero/operations/check_sign.rb +0 -15
  56. data/lib/sms_aero/operations/check_status.rb +0 -11
  57. data/lib/sms_aero/operations/check_tariff.rb +0 -12
  58. data/lib/sms_aero/operations/delete_group.rb +0 -11
  59. data/lib/sms_aero/operations/delete_phone.rb +0 -12
  60. data/lib/sms_aero/operations/hlr.rb +0 -36
  61. data/lib/sms_aero/operations/send_sms.rb +0 -22
  62. data/lib/sms_aero/operations/send_to_group.rb +0 -15
  63. data/lib/sms_aero/types/birthday.rb +0 -20
  64. data/lib/sms_aero/types/channel.rb +0 -4
  65. data/lib/sms_aero/types/digital.rb +0 -8
  66. data/lib/sms_aero/types/filled_string.rb +0 -3
  67. data/lib/sms_aero/types/future.rb +0 -16
  68. data/lib/sms_aero/types/password.rb +0 -6
  69. data/lib/sms_aero/types/phone.rb +0 -12
  70. data/lib/sms_aero/types/sign_status.rb +0 -9
  71. data/spec/sms_aero/operations/hlr_spec.rb +0 -96
  72. data/spec/sms_aero/operations/send_to_group_spec.rb +0 -185
  73. data/spec/sms_aero/types/sign_status_spec.rb +0 -19
@@ -1,185 +0,0 @@
1
- RSpec.describe SmsAero, "#send_to_group" do
2
- let(:settings) { { user: "BAZ", password: "QUX" } }
3
- let(:client) { described_class.new(settings) }
4
- let(:params) { { text: "Hi", from: "Qux" } }
5
- let(:answer) { { id: 3898, result: "accepted" } }
6
-
7
- before { stub_request(:any, //).to_return(body: answer.to_json) }
8
- subject { client.send_to_group(params) }
9
-
10
- context "using ssl via POST:" do
11
- let(:url) do
12
- "https://gate.smsaero.ru/sendtogroup?" \
13
- "answer=json&" \
14
- "from=Qux&" \
15
- "group=all&" \
16
- "password=9d1e4709d6a41407ab34cf99c7085f79&" \
17
- "text=Hi&" \
18
- "type=2&" \
19
- "user=BAZ"
20
- end
21
-
22
- it "sends a request" do
23
- subject
24
- expect(a_request(:post, url)).to have_been_made
25
- end
26
-
27
- it "returns success" do
28
- expect(subject).to be_kind_of SmsAero::Answer
29
- expect(subject.result).to eq "accepted"
30
- end
31
- end
32
-
33
- context "via GET:" do
34
- let(:url) do
35
- "https://gate.smsaero.ru/sendtogroup?" \
36
- "answer=json&" \
37
- "from=Qux&" \
38
- "group=all&" \
39
- "password=9d1e4709d6a41407ab34cf99c7085f79&" \
40
- "text=Hi&" \
41
- "type=2&" \
42
- "user=BAZ"
43
- end
44
-
45
- before { settings[:use_post] = false }
46
-
47
- it "sends a request" do
48
- subject
49
- expect(a_request(:get, url)).to have_been_made
50
- end
51
- end
52
-
53
- context "not using ssl:" do
54
- let(:url) do
55
- "http://gate.smsaero.ru/sendtogroup?" \
56
- "answer=json&" \
57
- "from=Qux&" \
58
- "group=all&" \
59
- "password=9d1e4709d6a41407ab34cf99c7085f79&" \
60
- "text=Hi&" \
61
- "type=2&" \
62
- "user=BAZ"
63
- end
64
-
65
- before { settings[:use_ssl] = false }
66
-
67
- it "sends a request" do
68
- subject
69
- expect(a_request(:post, url)).to have_been_made
70
- end
71
- end
72
-
73
- context "with custom group:" do
74
- let(:url) do
75
- "https://gate.smsaero.ru/sendtogroup?" \
76
- "answer=json&" \
77
- "from=Qux&" \
78
- "group=foo&" \
79
- "password=9d1e4709d6a41407ab34cf99c7085f79&" \
80
- "text=Hi&" \
81
- "type=2&" \
82
- "user=BAZ"
83
- end
84
-
85
- before { params[:group] = "foo" }
86
-
87
- it "sends a request" do
88
- subject
89
- expect(a_request(:post, url)).to have_been_made
90
- end
91
- end
92
-
93
- context "with invalid group:" do
94
- before { params[:group] = "" }
95
-
96
- it "raises an exception" do
97
- expect { subject }.to raise_error(TypeError)
98
- end
99
- end
100
-
101
- context "with valid date:" do
102
- let(:url) do
103
- "https://gate.smsaero.ru/sendtogroup?" \
104
- "answer=json&" \
105
- "from=Qux&" \
106
- "group=all&" \
107
- "date=4122144000&" \
108
- "password=9d1e4709d6a41407ab34cf99c7085f79&" \
109
- "text=Hi&" \
110
- "type=2&" \
111
- "user=BAZ"
112
- end
113
-
114
- before { params[:date] = DateTime.parse("2100-08-17 00:00:00 UTC") }
115
-
116
- it "sends a request" do
117
- subject
118
- expect(a_request(:post, url)).to have_been_made
119
- end
120
- end
121
-
122
- context "with old date:" do
123
- before { params[:date] = (Date.today - 1) }
124
-
125
- it "raises an exception" do
126
- expect { subject }.to raise_error(TypeError)
127
- end
128
- end
129
-
130
- context "with invalid date:" do
131
- before { params[:date] = "foo" }
132
-
133
- it "raises an exception" do
134
- expect { subject }.to raise_error(TypeError, /foo/)
135
- end
136
- end
137
-
138
- context "with digital channel:" do
139
- let(:url) do
140
- "https://gate.smsaero.ru/sendtogroup?" \
141
- "answer=json&" \
142
- "from=Qux&" \
143
- "group=all&" \
144
- "digital=1&" \
145
- "password=9d1e4709d6a41407ab34cf99c7085f79&" \
146
- "text=Hi&" \
147
- "user=BAZ"
148
- end
149
-
150
- before { params[:digital] = true }
151
-
152
- it "sends a request" do
153
- subject
154
- expect(a_request(:post, url)).to have_been_made
155
- end
156
- end
157
-
158
- context "with valid type:" do
159
- let(:url) do
160
- "https://gate.smsaero.ru/sendtogroup?" \
161
- "answer=json&" \
162
- "from=Qux&" \
163
- "group=all&" \
164
- "password=9d1e4709d6a41407ab34cf99c7085f79&" \
165
- "text=Hi&" \
166
- "type=3&" \
167
- "user=BAZ"
168
- end
169
-
170
- before { params[:type] = 3 }
171
-
172
- it "sends a request" do
173
- subject
174
- expect(a_request(:post, url)).to have_been_made
175
- end
176
- end
177
-
178
- context "with invalid type:" do
179
- before { params[:type] = 11 }
180
-
181
- it "raises an exception" do
182
- expect { subject }.to raise_error(TypeError, /11/)
183
- end
184
- end
185
- end
@@ -1,19 +0,0 @@
1
- require "spec_helper"
2
-
3
- RSpec.describe SmsAero::Types::SignStatus do
4
- context "valid status:" do
5
- let(:items) { %w(accepted approved rejected pending) }
6
-
7
- it "returns a status" do
8
- items.each { |item| expect(described_class[item]).to eq item }
9
- end
10
- end
11
-
12
- context "invalid status:" do
13
- let(:item) { "wrong" }
14
-
15
- it "fails" do
16
- expect { described_class[item] }.to raise_error(StandardError, /wrong/)
17
- end
18
- end
19
- end