blob: 5d95fb3a29ba1896e7698b705d9941842975148d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
describe Hbc::Verify, :cask do
let(:cask) { double("cask") }
let(:verification_classes) {
[
applicable_verification_class,
inapplicable_verification_class,
]
}
let(:applicable_verification_class) {
double("applicable_verification_class", me?: true)
}
let(:inapplicable_verification_class) {
double("inapplicable_verification_class", me?: false)
}
before do
allow(described_class).to receive(:verifications)
.and_return(verification_classes)
end
describe ".for_cask" do
subject { described_class.for_cask(cask) }
it "checks applicability of each verification" do
verification_classes.each do |verify_class|
expect(verify_class).to receive(:me?).with(cask)
end
subject
end
it "includes applicable verifications" do
expect(subject).to include(applicable_verification_class)
end
it "excludes inapplicable verifications" do
expect(subject).not_to include(inapplicable_verification_class)
end
end
describe ".all" do
let(:downloaded_path) { double("downloaded_path") }
let(:applicable_verification) { double("applicable_verification") }
let(:inapplicable_verification) { double("inapplicable_verification") }
subject { described_class.all(cask, downloaded_path) }
before do
allow(applicable_verification_class).to receive(:new)
.and_return(applicable_verification)
allow(inapplicable_verification_class).to receive(:new)
.and_return(inapplicable_verification)
end
it "runs only applicable verifications" do
expect(applicable_verification).to receive(:verify)
expect(inapplicable_verification).not_to receive(:verify)
subject
end
end
end
|