|
222 | 222 | it { is_expected.to eql('payment') } |
223 | 223 | end |
224 | 224 | end |
| 225 | + |
| 226 | + describe '#processed_part_payment?' do |
| 227 | + subject { view.processed_part_payment? } |
| 228 | + |
| 229 | + context 'when the application has a part payment and is processed' do |
| 230 | + let(:part_payment) { build_stubbed(:part_payment) } |
| 231 | + let(:application) { build_stubbed(:application, part_payment: part_payment, state: 3) } |
| 232 | + |
| 233 | + it { is_expected.to be true } |
| 234 | + end |
| 235 | + |
| 236 | + context 'when the application has no part payment' do |
| 237 | + let(:application) { build_stubbed(:application, part_payment: nil, state: 3) } |
| 238 | + |
| 239 | + it { is_expected.to be false } |
| 240 | + end |
| 241 | + |
| 242 | + context 'when the application is not processed' do |
| 243 | + let(:part_payment) { build_stubbed(:part_payment) } |
| 244 | + let(:application) { build_stubbed(:application, part_payment: part_payment, state: 2) } |
| 245 | + |
| 246 | + it { is_expected.to be false } |
| 247 | + end |
| 248 | + end |
| 249 | + |
| 250 | + describe '#banner_style' do |
| 251 | + subject { view.banner_style } |
| 252 | + |
| 253 | + context 'when the application has a processed part payment' do |
| 254 | + let(:part_payment) { build_stubbed(:part_payment) } |
| 255 | + let(:application) { build_stubbed(:application, part_payment: part_payment, state: 3, decision: 'full', outcome: 'part') } |
| 256 | + |
| 257 | + it 'returns the application decision' do |
| 258 | + is_expected.to eq 'full' |
| 259 | + end |
| 260 | + end |
| 261 | + |
| 262 | + context 'when the application has no part payment' do |
| 263 | + let(:application) { build_stubbed(:application, part_payment: nil, outcome: 'granted') } |
| 264 | + |
| 265 | + it 'returns the result' do |
| 266 | + is_expected.to eq 'granted' |
| 267 | + end |
| 268 | + end |
| 269 | + |
| 270 | + context 'when the application is not processed' do |
| 271 | + let(:part_payment) { build_stubbed(:part_payment) } |
| 272 | + let(:application) { build_stubbed(:application, part_payment: part_payment, state: 2, decision: 'none', outcome: 'part') } |
| 273 | + |
| 274 | + it 'returns the result' do |
| 275 | + is_expected.to eq 'part' |
| 276 | + end |
| 277 | + end |
| 278 | + end |
| 279 | + |
| 280 | + describe '#pp_outcome' do |
| 281 | + subject { view.pp_outcome } |
| 282 | + |
| 283 | + context 'when the part payment is successful' do |
| 284 | + let(:part_payment) { build_stubbed(:part_payment, correct: true, outcome: 'part') } |
| 285 | + let(:application) { build_stubbed(:application, part_payment: part_payment) } |
| 286 | + |
| 287 | + it 'returns paid' do |
| 288 | + is_expected.to eq 'paid' |
| 289 | + end |
| 290 | + end |
| 291 | + |
| 292 | + context 'when the part payment is not successful' do |
| 293 | + let(:part_payment) { build_stubbed(:part_payment, correct: false, outcome: 'none') } |
| 294 | + let(:application) { build_stubbed(:application, part_payment: part_payment) } |
| 295 | + |
| 296 | + it 'returns the part payment outcome' do |
| 297 | + is_expected.to eq 'none' |
| 298 | + end |
| 299 | + end |
| 300 | + |
| 301 | + context 'when there is no part payment' do |
| 302 | + let(:application) { build_stubbed(:application, part_payment: nil) } |
| 303 | + |
| 304 | + it 'returns nil' do |
| 305 | + is_expected.to be_nil |
| 306 | + end |
| 307 | + end |
| 308 | + end |
225 | 309 | end |
0 commit comments