verified_double 0.0.2 → 0.1.0
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.
- data/CHANGELOG.markdown +8 -0
- data/README.md +21 -49
- data/features/CHANGELOG.markdown +8 -0
- data/features/accessor_method_contracts.feature +107 -0
- data/features/customizing_arguments_and_return_values.feature +2 -2
- data/features/readme.md +21 -49
- data/features/rspec_mock_compatibility.feature +230 -0
- data/features/step_definitions/verified_double_steps.rb +17 -0
- data/features/{verified_double.feature → verified_mocks.feature} +5 -6
- data/features/verified_stubs.feature +94 -0
- data/lib/verified_double.rb +25 -10
- data/lib/verified_double/matchers.rb +35 -0
- data/lib/verified_double/method_signature_value.rb +15 -1
- data/lib/verified_double/method_signatures_report.rb +55 -0
- data/lib/verified_double/recording_double.rb +33 -12
- data/lib/verified_double/relays_to_internal_double_returning_self.rb +12 -0
- data/lib/verified_double/version.rb +1 -1
- data/spec/spec_helper.rb +3 -4
- data/spec/unit_helper.rb +3 -2
- data/spec/verified_double/matchers_spec.rb +96 -0
- data/spec/verified_double/method_signature_value_spec.rb +35 -0
- data/spec/verified_double/method_signatures_report_spec.rb +214 -0
- data/spec/verified_double/parse_method_signature_spec.rb +5 -1
- data/spec/verified_double/recording_double_spec.rb +103 -30
- data/spec/verified_double_spec.rb +70 -7
- data/verified_double.gemspec +0 -2
- metadata +17 -38
- data/lib/verified_double/get_registered_signatures.rb +0 -11
- data/lib/verified_double/get_unverified_signatures.rb +0 -13
- data/lib/verified_double/get_verified_signatures.rb +0 -17
- data/lib/verified_double/output_unverified_signatures.rb +0 -18
- data/lib/verified_double/report_unverified_signatures.rb +0 -16
- data/lib/verified_double/verify_doubles_service.rb +0 -15
- data/spec/verified_double/get_registered_signatures_spec.rb +0 -42
- data/spec/verified_double/get_unverified_signatures_spec.rb +0 -52
- data/spec/verified_double/get_verified_signatures_spec.rb +0 -63
- data/spec/verified_double/output_unverified_signatures_spec.rb +0 -58
- data/spec/verified_double/report_unverified_signatures_spec.rb +0 -57
- data/spec/verified_double/verify_doubles_service_spec.rb +0 -24
@@ -1,58 +0,0 @@
|
|
1
|
-
require 'unit_helper'
|
2
|
-
require 'verified_double/output_unverified_signatures'
|
3
|
-
|
4
|
-
describe VerifiedDouble::OutputUnverifiedSignatures do
|
5
|
-
class Dummy
|
6
|
-
end
|
7
|
-
|
8
|
-
let(:get_unverified_signatures_service){
|
9
|
-
fire_double('VerifiedDouble::GetUnverifiedSignatures') }
|
10
|
-
|
11
|
-
let(:unverified_signatures){ [
|
12
|
-
VerifiedDouble::MethodSignature.new(
|
13
|
-
class_name: 'Dummy',
|
14
|
-
method_operator: '.',
|
15
|
-
method: 'find',
|
16
|
-
args: [VerifiedDouble::MethodSignatureValue.new(1)],
|
17
|
-
return_values: [VerifiedDouble::MethodSignatureValue.new(Dummy.new)]),
|
18
|
-
VerifiedDouble::MethodSignature.new(
|
19
|
-
class_name: 'Dummy',
|
20
|
-
method_operator: '.',
|
21
|
-
method: 'where',
|
22
|
-
args: [VerifiedDouble::MethodSignatureValue.new(id: 1)],
|
23
|
-
return_values: [VerifiedDouble::MethodSignatureValue.new(Dummy.new)]) ] }
|
24
|
-
|
25
|
-
subject { described_class.new(get_unverified_signatures_service) }
|
26
|
-
|
27
|
-
describe "#execute" do
|
28
|
-
context "where there are no unverified_signatures" do
|
29
|
-
it "should not output anything" do
|
30
|
-
get_unverified_signatures_service.should_receive(:execute).and_return([])
|
31
|
-
subject.should_not_receive(:puts)
|
32
|
-
|
33
|
-
subject.execute
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
context "where there are unverified_signatures" do
|
38
|
-
it "should output the recommended versions of the unverified_signatures" do
|
39
|
-
get_unverified_signatures_service.should_receive(:execute).and_return(unverified_signatures)
|
40
|
-
|
41
|
-
lines = [
|
42
|
-
"The following mocks are not verified:",
|
43
|
-
unverified_signatures[0].recommended_verified_signature,
|
44
|
-
unverified_signatures[1].recommended_verified_signature ]
|
45
|
-
|
46
|
-
subject.should_receive(:puts).with(lines.join("\n"))
|
47
|
-
subject.execute
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
describe "#unverified_signatures" do
|
53
|
-
it "are the results of get_unverified_signatures.execute" do
|
54
|
-
get_unverified_signatures_service.should_receive(:execute).and_return(unverified_signatures)
|
55
|
-
expect(subject.unverified_signatures).to eq(unverified_signatures)
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
@@ -1,57 +0,0 @@
|
|
1
|
-
require 'unit_helper'
|
2
|
-
require 'verified_double/report_unverified_signatures'
|
3
|
-
|
4
|
-
describe VerifiedDouble::ReportUnverifiedSignatures do
|
5
|
-
let(:double_registry) { Set.new }
|
6
|
-
let(:nested_example_group) { double('nested_example_group') }
|
7
|
-
|
8
|
-
subject { described_class.new(double_registry, nested_example_group) }
|
9
|
-
|
10
|
-
describe "#initialize" do
|
11
|
-
it "requires a double registry and a nested example group" do
|
12
|
-
expect(subject.double_registry).to eq(double_registry)
|
13
|
-
expect(subject.nested_example_group).to eq(nested_example_group)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
describe "#execute" do
|
18
|
-
service_names = [
|
19
|
-
:get_registered_signatures,
|
20
|
-
:get_verified_signatures,
|
21
|
-
:get_unverified_signatures,
|
22
|
-
:output_unverified_signatures]
|
23
|
-
|
24
|
-
service_names.each do |service_name|
|
25
|
-
service_class_name = "#{VerifiedDouble}::#{service_name.to_s.classify.pluralize}"
|
26
|
-
let("#{service_name}_class") { fire_class_double(service_class_name).as_replaced_constant }
|
27
|
-
let("#{service_name}_service") { fire_double(service_class_name) }
|
28
|
-
end
|
29
|
-
|
30
|
-
it "gets registered and verified signatures and then outputs the unverified signatures" do
|
31
|
-
get_registered_signatures_class
|
32
|
-
.should_receive(:new)
|
33
|
-
.with(double_registry)
|
34
|
-
.and_return(get_registered_signatures_service)
|
35
|
-
|
36
|
-
get_verified_signatures_class
|
37
|
-
.should_receive(:new)
|
38
|
-
.with(nested_example_group)
|
39
|
-
.and_return(get_verified_signatures_service)
|
40
|
-
|
41
|
-
get_unverified_signatures_class
|
42
|
-
.should_receive(:new)
|
43
|
-
.with(get_registered_signatures_service, get_verified_signatures_service)
|
44
|
-
.and_return(get_unverified_signatures_service)
|
45
|
-
|
46
|
-
output_unverified_signatures_class
|
47
|
-
.should_receive(:new)
|
48
|
-
.with(get_unverified_signatures_service)
|
49
|
-
.and_return(output_unverified_signatures_service)
|
50
|
-
|
51
|
-
output_unverified_signatures_service.should_receive(:execute)
|
52
|
-
|
53
|
-
subject.execute
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
require 'verified_double/verify_doubles_service'
|
2
|
-
|
3
|
-
describe VerifiedDouble::VerifyDoublesService do
|
4
|
-
let(:world) { double('VerifiedDouble::World') }
|
5
|
-
|
6
|
-
subject { described_class.new(world) }
|
7
|
-
|
8
|
-
describe "#execute" do
|
9
|
-
it "should output the unverified_method_signatures of the world if there are any" do
|
10
|
-
world.should_receive(:unverified_method_signatures).and_return(["Flight.find(Hash)=>Flight"])
|
11
|
-
subject.should_receive("puts")
|
12
|
-
|
13
|
-
subject.execute
|
14
|
-
end
|
15
|
-
|
16
|
-
it "should do nothing if there are no unverified_method_signatures" do
|
17
|
-
world.should_receive(:unverified_method_signatures).and_return([])
|
18
|
-
subject.should_not_receive("puts")
|
19
|
-
|
20
|
-
subject.execute
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|