|
7 | 7 | let(:license) { described_class.new(license_data) } |
8 | 8 | let(:default_license_data) do |
9 | 9 | { |
10 | | - "licensee" => { "company" => "Code0" }, |
11 | | - "start_date" => "2024-05-01", |
12 | | - "end_date" => "2025-05-01", |
13 | | - "restrictions" => { "users" => 1 }, |
14 | | - "options" => {} |
| 10 | + licensee: { company: "Code0" }, |
| 11 | + start_date: "2024-05-01", |
| 12 | + end_date: "2025-05-01", |
| 13 | + restrictions: { users: 1 }, |
| 14 | + options: {} |
15 | 15 | } |
16 | 16 | end |
17 | 17 |
|
|
24 | 24 | it "data returns hash of attributes" do |
25 | 25 | expect(license.data).to match( |
26 | 26 | { |
27 | | - licensee: { "company" => "Code0" }, |
| 27 | + licensee: { company: "Code0" }, |
28 | 28 | start_date: Date.new(2024, 5, 1), |
29 | 29 | end_date: Date.new(2025, 5, 1), |
30 | | - restrictions: { "users" => 1 }, |
| 30 | + restrictions: { users: 1 }, |
31 | 31 | options: {} |
32 | 32 | } |
33 | 33 | ) |
|
82 | 82 | it { is_expected.to be true } |
83 | 83 |
|
84 | 84 | context "when missing licensee" do |
85 | | - let(:license_data) { default_license_data.except("licensee") } |
| 85 | + let(:license_data) { default_license_data.except(:licensee) } |
86 | 86 |
|
87 | 87 | it { is_expected.to be false } |
88 | 88 | end |
89 | 89 |
|
90 | 90 | context "when missing licensee is invalid" do |
91 | | - let(:license_data) { default_license_data.merge("licensee" => "") } |
| 91 | + let(:license_data) { default_license_data.merge(licensee: "") } |
92 | 92 |
|
93 | 93 | it { is_expected.to be false } |
94 | 94 | end |
95 | 95 |
|
96 | 96 | context "when missing licensee is empty" do |
97 | | - let(:license_data) { default_license_data.merge("licensee" => {}) } |
| 97 | + let(:license_data) { default_license_data.merge(licensee: {}) } |
98 | 98 |
|
99 | 99 | it { is_expected.to be false } |
100 | 100 | end |
101 | 101 |
|
102 | 102 | context "when missing start date" do |
103 | | - let(:license_data) { default_license_data.except("start_date") } |
| 103 | + let(:license_data) { default_license_data.except(:start_date) } |
104 | 104 |
|
105 | 105 | it { is_expected.to be false } |
106 | 106 | end |
107 | 107 |
|
108 | 108 | context "when missing end date" do |
109 | | - let(:license_data) { default_license_data.except("end_date") } |
| 109 | + let(:license_data) { default_license_data.except(:end_date) } |
110 | 110 |
|
111 | 111 | it { is_expected.to be false } |
112 | 112 | end |
113 | 113 |
|
114 | 114 | context "when missing end date with missing end date allowed" do |
115 | 115 | let(:license_data) do |
116 | | - data = default_license_data.except("end_date") |
117 | | - data["options"].merge!("allow_missing_end_date" => true) |
| 116 | + data = default_license_data.except(:end_date) |
| 117 | + data[:options].merge!(allow_missing_end_date: true) |
118 | 118 | data |
119 | 119 | end |
120 | 120 |
|
|
126 | 126 | subject { license.in_active_time? } |
127 | 127 |
|
128 | 128 | context "when start is after today" do |
129 | | - let(:license_data) { default_license_data.merge("start_date" => Date.today + 1) } |
| 129 | + let(:license_data) { default_license_data.merge(start_date: Date.today + 1) } |
130 | 130 |
|
131 | 131 | it { is_expected.to be false } |
132 | 132 | end |
133 | 133 |
|
134 | 134 | context "when start is today" do |
135 | | - let(:license_data) { default_license_data.merge("start_date" => Date.today) } |
| 135 | + let(:license_data) { default_license_data.merge(start_date: Date.today) } |
136 | 136 |
|
137 | 137 | it { is_expected.to be true } |
138 | 138 | end |
139 | 139 |
|
140 | 140 | context "when start is before today" do |
141 | | - let(:license_data) { default_license_data.merge("start_date" => Date.today - 1) } |
| 141 | + let(:license_data) { default_license_data.merge(start_date: Date.today - 1) } |
142 | 142 |
|
143 | 143 | it { is_expected.to be true } |
144 | 144 | end |
145 | 145 |
|
146 | 146 | context "when end is after today" do |
147 | | - let(:license_data) { default_license_data.merge("end_date" => Date.today + 1) } |
| 147 | + let(:license_data) { default_license_data.merge(end_date: Date.today + 1) } |
148 | 148 |
|
149 | 149 | it { is_expected.to be true } |
150 | 150 | end |
151 | 151 |
|
152 | 152 | context "when end is today" do |
153 | | - let(:license_data) { default_license_data.merge("end_date" => Date.today) } |
| 153 | + let(:license_data) { default_license_data.merge(end_date: Date.today) } |
154 | 154 |
|
155 | 155 | it { is_expected.to be true } |
156 | 156 | end |
157 | 157 |
|
158 | 158 | context "when end is before today" do |
159 | | - let(:license_data) { default_license_data.merge("end_date" => Date.today - 1) } |
| 159 | + let(:license_data) { default_license_data.merge(end_date: Date.today - 1) } |
160 | 160 |
|
161 | 161 | it { is_expected.to be false } |
162 | 162 | end |
163 | 163 |
|
164 | 164 | context "when end is not set" do |
165 | | - let(:license_data) { default_license_data.merge("end_date" => nil) } |
| 165 | + let(:license_data) { default_license_data.merge(end_date: nil) } |
166 | 166 |
|
167 | 167 | it { is_expected.to be false } |
168 | 168 | end |
169 | 169 |
|
170 | 170 | context "when end is not set and missing end allowed" do |
171 | 171 | let(:license_data) do |
172 | | - default_license_data.merge("end_date" => nil, "options" => { "allow_missing_end_date" => true }) |
| 172 | + default_license_data.merge(end_date: nil, options: { allow_missing_end_date: true }) |
173 | 173 | end |
174 | 174 |
|
175 | 175 | it { is_expected.to be true } |
176 | 176 | end |
177 | 177 | end |
| 178 | + |
| 179 | + describe "#restricted?" do |
| 180 | + it "returns true if restriction is set" do |
| 181 | + expect(license.restricted?(:users)).to be true |
| 182 | + end |
| 183 | + |
| 184 | + it "returns fals if restriction is not set" do |
| 185 | + expect(license.restricted?(:user_count)).to be false |
| 186 | + end |
| 187 | + end |
178 | 188 | end |
0 commit comments