adyen-admin 0.0.16 → 0.0.17
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 +15 -0
- data/.gitignore +2 -0
- data/.rspec +1 -0
- data/CHANGES.md +6 -0
- data/LICENSE +1 -1
- data/Rakefile +0 -18
- data/VERSION +1 -1
- data/credentials.yml.example +8 -0
- data/lib/adyen-admin.rb +1 -1
- data/lib/adyen-admin/skin.rb +19 -14
- data/spec/adyen-admin/client_spec.rb +1 -1
- data/spec/adyen-admin/skin_spec.rb +47 -75
- data/spec/fixtures/cassettes/Adyen_Admin_Client/_get/raises_authenticated_error_when_not_logged_in.yml +136 -234
- data/spec/fixtures/cassettes/Adyen_Admin_Client/_get/sets_authenticated_to_false_on_error.yml +136 -234
- data/spec/fixtures/cassettes/Adyen_Admin_Client/_login/passes_with_correct_username_password.yml +321 -565
- data/spec/fixtures/cassettes/Adyen_Admin_Skin/authenticated/_all/freezes_local_skins.yml +147 -271
- data/spec/fixtures/cassettes/Adyen_Admin_Skin/authenticated/_all/returns_the_skins.yml +147 -271
- data/spec/fixtures/cassettes/Adyen_Admin_Skin/authenticated/_all_remote/returns_the_skins.yml +147 -271
- data/spec/fixtures/cassettes/Adyen_Admin_Skin/authenticated/_all_remote/sets_local_path.yml +147 -271
- data/spec/fixtures/cassettes/Adyen_Admin_Skin/authenticated/_download/gets_the_file.yml +10207 -5552
- data/spec/fixtures/cassettes/Adyen_Admin_Skin/authenticated/_download/is_a_zipfile.yml +10207 -5552
- data/spec/fixtures/cassettes/Adyen_Admin_Skin/authenticated/_find/returns_no_skin.yml +147 -271
- data/spec/fixtures/cassettes/Adyen_Admin_Skin/authenticated/_find/returns_the_skin.yml +147 -271
- data/spec/fixtures/cassettes/Adyen_Admin_Skin/authenticated/_test_url/.yml +530 -0
- data/spec/fixtures/cassettes/Adyen_Admin_Skin/authenticated/_update/create_skin_yml_file.yml +426 -756
- data/spec/fixtures/cassettes/Adyen_Admin_Skin/authenticated/_upload/valid_set/increases_version.yml +12004 -8414
- data/spec/fixtures/cassettes/Adyen_Admin_Skin/authenticated/_upload/valid_set/updates_skin_data.yml +10875 -6358
- data/spec/fixtures/cassettes/login.yml +321 -565
- data/spec/fixtures/skins/example-qaJKoAMQ/css/print.css +17 -0
- data/spec/fixtures/skins/example-qaJKoAMQ/img/bg.gif +0 -0
- data/spec/spec_helper.rb +15 -2
- metadata +55 -38
- data/spec/fixtures/cassettes/Adyen_Admin_Skin/authenticated/_decompile/new_remote_skin/downloads_and_decompiles_skin.yml +0 -1441
- data/spec/fixtures/cassettes/Adyen_Admin_Skin/authenticated/_remote_version/returns_live_value.yml +0 -77
- data/spec/fixtures/cassettes/Adyen_Admin_Skin/authenticated/_remote_version/returns_test_value.yml +0 -77
- data/spec/fixtures/cassettes/Adyen_Admin_Skin/authenticated/_remote_version/returns_uploaded_value.yml +0 -666
- data/spec/fixtures/cassettes/Adyen_Admin_Skin/authenticated/_test_url/returns_url_to_test.yml +0 -941
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
YzI5NzJjMjQ2ZGZlMWIyMTUxODBlNTJkYzg1ZjgyOGJjNDllMGQxYw==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
YzQ1OGY5ZTZlN2RjOWRkZjRkZmJlMjY1YTc3ZGY4NjYxMjJkZjcyZA==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
OWRhZjM1NzExYzJiYzliNzk0Mzk4YWRhNDVjNWM0YWU5ODQzMWNmZWI2NjEy
|
10
|
+
NWQ2NTRlMDU2NWNmZTM4YTc4OTc1ZTdkMjA2ZDg4Yzc2OGJlNzU2M2FmNjA4
|
11
|
+
MTBhMTA1ZWRjNjU3ZTZlOGQ3YTkzYzcwZmU4NjNkMTg4YjdhMjk=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
OTE0MGI0MmM1NjY1NzljY2UyYmQzNzMyZTRkMGZlOTUxNjdmNzY3NGY3YmY3
|
14
|
+
YmQ3MmVkZGQ3MzE0Y2IzM2NhODZkOThmOWE2Y2UzNjA2NDAyNjI1MWFjZTc5
|
15
|
+
YjNmNDkzNzMyNmVkYzBlZmM3MmIzOTQ3ZmIzMWFjY2RlMDlhYzk=
|
data/.gitignore
CHANGED
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--colour
|
data/CHANGES.md
CHANGED
@@ -5,6 +5,12 @@
|
|
5
5
|
* add CLI binaries (to compile + upload) -> read from .adyenrc file
|
6
6
|
* make compatible with Live system
|
7
7
|
|
8
|
+
## v0.0.17 - 15-11-2013
|
9
|
+
* fixed upload
|
10
|
+
* gem updates
|
11
|
+
* exclude + filter sensitive vcr data
|
12
|
+
* spec cleanup
|
13
|
+
|
8
14
|
## v0.0.16 - 19-06-2012
|
9
15
|
* config parent_skin via skin file
|
10
16
|
* throw exception when including subdirectory of subdirectories.
|
data/LICENSE
CHANGED
data/Rakefile
CHANGED
@@ -4,21 +4,3 @@ require 'rspec/core/rake_task'
|
|
4
4
|
RSpec::Core::RakeTask.new(:spec)
|
5
5
|
|
6
6
|
task :default => :spec
|
7
|
-
|
8
|
-
task :anonym, :tokens do |t, args|
|
9
|
-
replace = args[:tokens].split(" ").map do |token|
|
10
|
-
from, to = token.split(":")
|
11
|
-
"s/#{from}/#{to}/g"
|
12
|
-
end
|
13
|
-
|
14
|
-
`find -E . -regex '^.+\.(rb|yml)$' -exec sed -i "" "#{replace.join(";")}" {} \\;`
|
15
|
-
end
|
16
|
-
|
17
|
-
task :deanonym, :tokens do |t, args|
|
18
|
-
replace = args[:tokens].split(" ").map do |token|
|
19
|
-
from, to = token.split(":")
|
20
|
-
"s/#{to}/#{from}/g"
|
21
|
-
end
|
22
|
-
|
23
|
-
`find -E . -regex '^.+\.(rb|yml)$' -exec sed -i "" "#{replace.join(";")}" {} \\;`
|
24
|
-
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.17
|
data/lib/adyen-admin.rb
CHANGED
data/lib/adyen-admin/skin.rb
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
require 'tempfile'
|
2
|
-
require 'zip
|
2
|
+
require 'zip'
|
3
3
|
require 'yaml'
|
4
4
|
|
5
5
|
module Adyen
|
6
6
|
module Admin
|
7
7
|
class Skin
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
VERSION_TEST
|
13
|
-
VERSION_LIVE
|
14
|
-
PUBLISH
|
15
|
-
SKINS
|
8
|
+
UPLOAD_SELECT = "https://ca-test.adyen.com/ca/ca/skin/skins.shtml"
|
9
|
+
UPLOAD = "uploadskin.shtml?skinCode=%s"
|
10
|
+
DOWNLOAD = "https://ca-test.adyen.com/ca/ca/skin/downloadskinsubmit.shtml?downloadSkin=Download&skinCode=%s"
|
11
|
+
TEST = "https://ca-test.adyen.com/ca/ca/skin/testpayment.shtml?skinCode=%s"
|
12
|
+
VERSION_TEST = "https://test.adyen.com/hpp/version.shtml?skinCode=%s"
|
13
|
+
VERSION_LIVE = "https://live.adyen.com/hpp/version.shtml?skinCode=%s"
|
14
|
+
PUBLISH = "https://ca-test.adyen.com/ca/ca/skin/publishskin.shtml?skinCode=%s"
|
15
|
+
SKINS = "https://ca-test.adyen.com/ca/ca/skin/skins.shtml"
|
16
16
|
|
17
17
|
attr_reader :code, :name, :path
|
18
18
|
|
@@ -132,6 +132,10 @@ module Adyen
|
|
132
132
|
skin_data[:parent_skin] || "base"
|
133
133
|
end
|
134
134
|
|
135
|
+
def default_data
|
136
|
+
skin_data[:default_data] || {}
|
137
|
+
end
|
138
|
+
|
135
139
|
##########################################
|
136
140
|
|
137
141
|
def update
|
@@ -169,7 +173,7 @@ module Adyen
|
|
169
173
|
`mkdir -p #{decompile_path}`
|
170
174
|
end
|
171
175
|
|
172
|
-
Zip::
|
176
|
+
Zip::File.open(filename) do |zip_file|
|
173
177
|
zip_file.each do |file|
|
174
178
|
f_path = File.join(self.path || decompile_path, file.name.gsub("#{code}/", ""))
|
175
179
|
FileUtils.mkdir_p(File.dirname(f_path))
|
@@ -205,7 +209,7 @@ module Adyen
|
|
205
209
|
|
206
210
|
outfile.tap do |filename|
|
207
211
|
`rm -f #{filename}`
|
208
|
-
Zip::
|
212
|
+
Zip::File.open(filename, Zip::File::CREATE) do |zip_file|
|
209
213
|
Dir["#{path}/**/**"].each do |file|
|
210
214
|
next if file =~ exclude
|
211
215
|
raise if nested_subdirectory?(path, file)
|
@@ -229,12 +233,13 @@ module Adyen
|
|
229
233
|
# http://stackoverflow.com/questions/3420587/ruby-mechanize-multipart-form-with-file-upload-to-a-mediawiki
|
230
234
|
def upload
|
231
235
|
file = self.compress
|
232
|
-
|
236
|
+
|
237
|
+
page = Adyen::Admin.get(UPLOAD_SELECT)
|
238
|
+
page = page.link_with(:href => Regexp.new(Regexp.escape(UPLOAD % code))).click
|
233
239
|
page = Adyen::Admin.client.submit(page.form.tap do |form|
|
234
240
|
form.file_uploads.first.file_name = file
|
235
241
|
end)
|
236
|
-
|
237
|
-
page = form.submit(page.form.button_with(:name => 'submit'))
|
242
|
+
page = page.form.submit(page.form.button_with(:name => 'submit'))
|
238
243
|
update
|
239
244
|
end
|
240
245
|
|
@@ -3,7 +3,7 @@ require "spec_helper"
|
|
3
3
|
require "adyen-admin/client"
|
4
4
|
|
5
5
|
describe Adyen::Admin::Client, :vcr do
|
6
|
-
let(:login) { Adyen::Admin.login(
|
6
|
+
let(:login) { Adyen::Admin.login($adyen[:account], $adyen[:user], $adyen[:password]) }
|
7
7
|
|
8
8
|
before do
|
9
9
|
Adyen::Admin.client.cookie_jar.clear!
|
@@ -6,9 +6,16 @@ require "adyen-admin/skin"
|
|
6
6
|
module Adyen::Admin
|
7
7
|
describe Skin, :vcr do
|
8
8
|
let(:skin_fixtures) { File.expand_path 'spec/fixtures/skins' }
|
9
|
-
let(:skin_code) {
|
9
|
+
let(:skin_code) { $adyen[:test_skin_code] }
|
10
|
+
let(:path) { "#{skin_fixtures}/#{skin_code}" }
|
10
11
|
let(:skin) { Skin.new(:code => skin_code, :name => "example") }
|
11
12
|
|
13
|
+
let(:other_skins) do
|
14
|
+
$adyen[:other_skin_codes].map do |code|
|
15
|
+
Skin.new(:code => code, :name => "example")
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
12
19
|
describe ".all" do
|
13
20
|
it 'returns all local skins' do
|
14
21
|
Skin.all.should == Skin.all_local
|
@@ -19,7 +26,7 @@ module Adyen::Admin
|
|
19
26
|
before(:all) do
|
20
27
|
VCR.use_cassette("login") do
|
21
28
|
Adyen::Admin.client.cookie_jar.clear!
|
22
|
-
Adyen::Admin.login(
|
29
|
+
Adyen::Admin.login($adyen[:account], $adyen[:user], $adyen[:password])
|
23
30
|
end
|
24
31
|
end
|
25
32
|
|
@@ -31,14 +38,12 @@ module Adyen::Admin
|
|
31
38
|
it 'returns the skins' do
|
32
39
|
Skin.all_remote.should =~ [
|
33
40
|
skin,
|
34
|
-
|
35
|
-
Skin.new(:code => "vQW0fEo8", :name => "test"),
|
36
|
-
]
|
41
|
+
] + other_skins
|
37
42
|
end
|
38
43
|
|
39
44
|
it 'sets local path' do
|
40
45
|
Adyen::Admin::Skin.default_path = skin_fixtures
|
41
|
-
Skin.
|
46
|
+
Skin.find(skin_code).path.should == "#{skin_fixtures}/example-#{skin_code}"
|
42
47
|
end
|
43
48
|
end
|
44
49
|
|
@@ -46,9 +51,10 @@ module Adyen::Admin
|
|
46
51
|
it 'returns the skins' do
|
47
52
|
Skin.all_local.should =~ [
|
48
53
|
Skin.new(:code => "base"),
|
49
|
-
skin,
|
50
54
|
Skin.new(:code => "DV3tf95f"),
|
51
55
|
Skin.new(:code => "JH0815"),
|
56
|
+
Skin.new(:code => "7hFAQnmt"),
|
57
|
+
skin,
|
52
58
|
]
|
53
59
|
end
|
54
60
|
end
|
@@ -56,13 +62,12 @@ module Adyen::Admin
|
|
56
62
|
describe ".all" do
|
57
63
|
it 'returns the skins' do
|
58
64
|
Skin.all.should =~ [
|
59
|
-
skin,
|
60
|
-
Skin.new(:code => "Kx9axnRf", :name => "demo"),
|
61
|
-
Skin.new(:code => "vQW0fEo8", :name => "test"),
|
62
65
|
Skin.new(:code => "base"),
|
63
66
|
Skin.new(:code => "DV3tf95f"),
|
64
|
-
Skin.new(:code => "JH0815")
|
65
|
-
|
67
|
+
Skin.new(:code => "JH0815"),
|
68
|
+
Skin.new(:code => "7hFAQnmt"),
|
69
|
+
skin,
|
70
|
+
] + other_skins
|
66
71
|
end
|
67
72
|
|
68
73
|
it 'freezes local skins' do
|
@@ -81,7 +86,7 @@ module Adyen::Admin
|
|
81
86
|
end
|
82
87
|
|
83
88
|
describe "#new" do
|
84
|
-
let(:path) { "#{skin_fixtures}/example
|
89
|
+
let(:path) { "#{skin_fixtures}/example-#{skin_code}" }
|
85
90
|
|
86
91
|
it "sets code attribute" do
|
87
92
|
Skin.new(:code => skin_code).code.should == skin_code
|
@@ -96,7 +101,7 @@ module Adyen::Admin
|
|
96
101
|
end
|
97
102
|
|
98
103
|
it "auto sets code from path" do
|
99
|
-
Skin.new(:path => path).code.should ==
|
104
|
+
Skin.new(:path => path).code.should == skin_code
|
100
105
|
end
|
101
106
|
|
102
107
|
it "auto sets name from path" do
|
@@ -116,7 +121,7 @@ module Adyen::Admin
|
|
116
121
|
end
|
117
122
|
|
118
123
|
context "slash in name" do
|
119
|
-
let(:path) { "#{skin_fixtures}/example-test
|
124
|
+
let(:path) { "#{skin_fixtures}/example-test-#{skin_code}" }
|
120
125
|
|
121
126
|
it "sets name" do
|
122
127
|
Skin.stub(:is_skin_path?).and_return(true)
|
@@ -167,7 +172,7 @@ module Adyen::Admin
|
|
167
172
|
end
|
168
173
|
|
169
174
|
describe "#update" do
|
170
|
-
let(:path) { "#{skin_fixtures}/example
|
175
|
+
let(:path) { "#{skin_fixtures}/example-#{skin_code}" }
|
171
176
|
|
172
177
|
before do
|
173
178
|
skin.path = path
|
@@ -222,15 +227,17 @@ module Adyen::Admin
|
|
222
227
|
end
|
223
228
|
|
224
229
|
it "is a zipfile" do
|
225
|
-
Zip::
|
230
|
+
Zip::File.open(skin.download) do |zipfile|
|
226
231
|
zipfile.find_entry(File.join(skin_code, "inc", "cheader.txt")).should be_true
|
227
232
|
end
|
228
233
|
end
|
229
234
|
end
|
230
235
|
|
231
236
|
describe "#decompile" do
|
237
|
+
subject { skin.decompile(zip_filename) }
|
238
|
+
|
232
239
|
let(:skin_code) { "DV3tf95f" }
|
233
|
-
let(:skin) { Skin.new(:path =>
|
240
|
+
let(:skin) { Skin.new(:path => path) }
|
234
241
|
|
235
242
|
after do
|
236
243
|
`rm -rf #{zip_filename}`
|
@@ -241,41 +248,23 @@ module Adyen::Admin
|
|
241
248
|
let!(:zip_filename) { skin.compress(nil) }
|
242
249
|
|
243
250
|
before do
|
244
|
-
`cp -r #{
|
251
|
+
`cp -r #{path} #{skin_fixtures}/_backup`
|
245
252
|
end
|
246
253
|
|
247
254
|
after do
|
248
|
-
`rm -rf #{backup_filename} #{
|
249
|
-
`mv #{skin_fixtures}/_backup #{
|
255
|
+
`rm -rf #{backup_filename} #{path}`
|
256
|
+
`mv #{skin_fixtures}/_backup #{path}`
|
250
257
|
end
|
251
258
|
|
252
259
|
it "creates backup" do
|
253
|
-
|
254
|
-
|
260
|
+
subject
|
255
261
|
File.should be_exists(backup_filename)
|
256
262
|
end
|
257
263
|
|
258
264
|
it "unzips files" do
|
259
265
|
`rm -rf #{skin.path}`
|
260
266
|
|
261
|
-
expect
|
262
|
-
skin.decompile(zip_filename)
|
263
|
-
end.to change { File.exists?(File.join(skin.path, 'inc', 'order_data.txt')) }
|
264
|
-
end
|
265
|
-
end
|
266
|
-
|
267
|
-
context "new remote skin" do
|
268
|
-
let(:skin) { Skin.new(:name => "test", :code => "vQW0fEo8") }
|
269
|
-
let!(:zip_filename) { skin.download }
|
270
|
-
|
271
|
-
after do
|
272
|
-
`rm -rf #{skin.path}`
|
273
|
-
end
|
274
|
-
|
275
|
-
it "downloads and decompiles skin" do
|
276
|
-
expect do
|
277
|
-
skin.decompile(zip_filename)
|
278
|
-
end.to change { skin.path }
|
267
|
+
expect { subject }.to change { File.exists?(File.join(skin.path, 'inc', 'order_data.txt')) }
|
279
268
|
end
|
280
269
|
end
|
281
270
|
end
|
@@ -294,30 +283,30 @@ module Adyen::Admin
|
|
294
283
|
end
|
295
284
|
|
296
285
|
it 'writes cheader' do
|
297
|
-
File.read(
|
286
|
+
File.read(skin.path + '/inc/cheader.txt').should == "<!-- ### inc/cheader_[locale].txt or inc/cheader.txt (fallback) ### -->"
|
298
287
|
end
|
299
288
|
|
300
289
|
it 'writes pmheader' do
|
301
|
-
File.read(
|
290
|
+
File.read(skin.path + '/inc/pmheader.txt').should == "<!-- ### inc/pmheader_[locale].txt or inc/pmheader.txt (fallback) ### -->"
|
302
291
|
end
|
303
292
|
|
304
293
|
it 'writes pmfooter' do
|
305
|
-
File.read(
|
294
|
+
File.read(skin.path + '/inc/pmfooter.txt').should == "<!-- ### inc/pmfooter_[locale].txt or inc/pmfooter.txt (fallback) ### -->\n\n <!-- ### inc/customfields_[locale].txt or inc/customfields.txt (fallback) ### -->"
|
306
295
|
end
|
307
296
|
|
308
297
|
it 'writes cfooter' do
|
309
|
-
File.read(
|
298
|
+
File.read(skin.path + '/inc/cfooter.txt').should == "<!-- ### inc/cfooter_[locale].txt or inc/cfooter.txt (fallback) ### -->"
|
310
299
|
end
|
311
300
|
end
|
312
301
|
|
313
302
|
describe "#compress" do
|
303
|
+
subject(:zip_filename){ skin.compress }
|
304
|
+
|
314
305
|
let(:skin_code) { "DV3tf95f" }
|
315
|
-
let(:path) { "#{skin_fixtures}/#{skin_code}" }
|
316
306
|
let(:skin) { Skin.new(:path => path) }
|
317
|
-
let(:zip_filename) { skin.compress }
|
318
307
|
|
319
308
|
def zip_contains(file)
|
320
|
-
Zip::
|
309
|
+
Zip::File.open(zip_filename) do |zipfile|
|
321
310
|
return true if zipfile.find_entry(File.join(skin.code, file))
|
322
311
|
end
|
323
312
|
false
|
@@ -401,10 +390,10 @@ module Adyen::Admin
|
|
401
390
|
end
|
402
391
|
|
403
392
|
context "with parent_skin" do
|
404
|
-
let(:
|
393
|
+
let(:parent_skin_code) { $adyen[:test_skin_code] }
|
405
394
|
|
406
395
|
before do
|
407
|
-
skin.stub(:parent_skin).and_return("example
|
396
|
+
skin.stub(:parent_skin).and_return("example-#{parent_skin_code}")
|
408
397
|
end
|
409
398
|
|
410
399
|
it "excludes meta file" do
|
@@ -414,7 +403,9 @@ module Adyen::Admin
|
|
414
403
|
end
|
415
404
|
|
416
405
|
describe "#upload" do
|
417
|
-
|
406
|
+
subject { skin.upload }
|
407
|
+
|
408
|
+
let(:path) { "#{skin_fixtures}/example-#{skin_code}" }
|
418
409
|
|
419
410
|
after do
|
420
411
|
`rm -f #{skin_code}.zip`
|
@@ -427,40 +418,21 @@ module Adyen::Admin
|
|
427
418
|
end
|
428
419
|
|
429
420
|
it "increases version" do
|
430
|
-
expect
|
431
|
-
skin.upload
|
432
|
-
end.to change { skin.send(:remote_version) }.by(1)
|
421
|
+
expect { subject }.to change { skin.send(:remote_version) }.by(1)
|
433
422
|
end
|
434
423
|
|
435
424
|
it "updates skin data" do
|
436
425
|
skin.should_receive(:update)
|
437
426
|
|
438
|
-
|
427
|
+
subject
|
439
428
|
end
|
440
429
|
end
|
441
430
|
end
|
442
431
|
|
443
|
-
describe "#remote_version" do
|
444
|
-
let(:skin) { Skin.new(:code => "Kx9axnRf", :name => "demo") }
|
445
|
-
let(:version) { 17 }
|
446
|
-
|
447
|
-
it "returns uploaded value" do
|
448
|
-
skin.send(:remote_version).should == version
|
449
|
-
end
|
450
|
-
|
451
|
-
it "returns test value" do
|
452
|
-
skin.send(:remote_version, :test).should == version
|
453
|
-
end
|
454
|
-
|
455
|
-
it "returns live value" do
|
456
|
-
skin.send(:remote_version, :live).should == 0
|
457
|
-
end
|
458
|
-
end
|
459
|
-
|
460
432
|
describe "#test_url" do
|
461
|
-
|
462
|
-
|
463
|
-
|
433
|
+
subject { skin.test_url.to_s }
|
434
|
+
|
435
|
+
it { should include("https://test.adyen.com/hpp/pay.shtml") }
|
464
436
|
#todo test with options
|
465
437
|
end
|
466
438
|
end
|