opushon 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,108 @@
1
+ require_relative 'spec_helper'
2
+
3
+ describe Opushon::Parameter::Output do
4
+ subject do
5
+ Opushon::Parameter::Output
6
+ end
7
+
8
+ describe '.load' do
9
+ it 'MUST return the hash' do
10
+ params = {
11
+ foo: subject.new(title: 'Foo').to_h,
12
+ bar: subject.new(title: 'Bar').to_h
13
+ }
14
+
15
+ subject.load(params).must_equal({
16
+ foo: subject.new(title: 'Foo').to_h,
17
+ bar: subject.new(title: 'Bar').to_h
18
+ })
19
+ end
20
+ end
21
+
22
+ describe '.new' do
23
+ describe '#to_h' do
24
+ describe 'default params' do
25
+ describe 'default type' do
26
+ it 'MUST return the hash' do
27
+ o = subject.new
28
+
29
+ o.to_h.must_equal(title: '',
30
+ description: '',
31
+ type: 'string',
32
+ nullifiable: true)
33
+ end
34
+ end
35
+
36
+ describe 'string type' do
37
+ it 'MUST return the hash' do
38
+ o = subject.new(type: 'string')
39
+
40
+ o.to_h.must_equal(title: '',
41
+ description: '',
42
+ type: 'string',
43
+ nullifiable: true)
44
+ end
45
+ end
46
+
47
+ describe 'number type' do
48
+ it 'MUST return the hash' do
49
+ o = subject.new(type: 'number')
50
+
51
+ o.to_h.must_equal(title: '',
52
+ description: '',
53
+ type: 'number',
54
+ nullifiable: true)
55
+ end
56
+ end
57
+
58
+ describe 'boolean type' do
59
+ it 'MUST return the hash' do
60
+ o = subject.new(type: 'boolean')
61
+
62
+ o.to_h.must_equal(title: '',
63
+ description: '',
64
+ type: 'boolean',
65
+ nullifiable: true)
66
+ end
67
+ end
68
+
69
+ describe 'array type' do
70
+ it 'MUST return the hash' do
71
+ o = subject.new(type: 'array')
72
+
73
+ o.to_h.must_equal(title: '',
74
+ description: '',
75
+ type: 'array',
76
+ nullifiable: true)
77
+ end
78
+ end
79
+
80
+ describe 'hash type' do
81
+ it 'MUST return the hash' do
82
+ o = subject.new(type: 'hash')
83
+
84
+ o.to_h.must_equal(title: '',
85
+ description: '',
86
+ type: 'hash',
87
+ nullifiable: true)
88
+ end
89
+ end
90
+ end
91
+ end
92
+
93
+ describe 'random example' do
94
+ it 'MUST return the hash' do
95
+ o = subject.new(
96
+ description: 'State of the issues to return.',
97
+ type: 'boolean',
98
+ nullifiable: true
99
+ )
100
+
101
+ o.to_h.must_equal(title: '',
102
+ description: 'State of the issues to return.',
103
+ type: 'boolean',
104
+ nullifiable: true)
105
+ end
106
+ end
107
+ end
108
+ end
@@ -0,0 +1 @@
1
+ require_relative File.join(*%w(.. spec_helper))
@@ -0,0 +1,42 @@
1
+ require_relative 'spec_helper'
2
+
3
+ describe Opushon::RestrictedValue do
4
+ subject do
5
+ Opushon::RestrictedValue
6
+ end
7
+
8
+ describe 'passes' do
9
+ describe '#to_h' do
10
+ it 'MUST return the hash' do
11
+ subject.new(value: :foobar).to_h.must_equal({
12
+ title: '',
13
+ description: '',
14
+ value: :foobar
15
+ })
16
+ end
17
+ end
18
+
19
+ describe '#to_h' do
20
+ it 'MUST return the hash' do
21
+ subject.new(value: :foobar,
22
+ description: :foobar).to_h.must_equal({
23
+ title: '',
24
+ description: 'foobar',
25
+ value: :foobar
26
+ })
27
+ end
28
+ end
29
+
30
+ describe '#value' do
31
+ it 'MUST return the value' do
32
+ subject.new(value: :foobar).value.must_equal(:foobar)
33
+ end
34
+ end
35
+ end
36
+
37
+ describe 'errors' do
38
+ it 'MUST raise without value' do
39
+ -> { subject.new(description: :foobar) }.must_raise(ArgumentError)
40
+ end
41
+ end
42
+ end