ConfigurationTest   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 60
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 0
Metric Value
wmc 5
lcom 1
cbo 1
dl 0
loc 60
rs 10
c 0
b 0
f 0

5 Methods

Rating   Name   Duplication   Size   Complexity  
A it_generates_code_with_predefinded_characters_only() 0 9 1
A it_generates_code_with_prefix() 0 9 1
A it_generates_code_with_suffix() 0 9 1
A it_generates_code_with_mask() 0 9 1
A it_has_underscore_as_code_separator_for_prefix_and_suffix() 0 12 1
1
<?php
2
3
namespace Gabievi\Promocodes\Tests;
4
5
use Promocodes;
6
7
class ConfigurationTest extends TestCase
0 ignored issues
show
Bug introduced by
There is at least one abstract method in this class. Maybe declare it as abstract, or implement the remaining methods: artisan, be, call, seed
Loading history...
8
{
9
    /** @test */
10
    public function it_generates_code_with_predefinded_characters_only()
11
    {
12
        $this->app['config']->set('promocodes.characters', '1234567890');
13
14
        $promocodes = Promocodes::output();
15
        $promocode = $promocodes[0];
16
17
        $this->assertRegExp('/^[0-9]/', $promocode);
18
    }
19
20
    /** @test */
21
    public function it_generates_code_with_prefix()
22
    {
23
        $this->app['config']->set('promocodes.prefix', 'foo');
24
25
        $promocodes = Promocodes::output();
26
        $promocode = $promocodes[0];
27
28
        $this->assertStringStartsWith('foo', $promocode);
29
    }
30
31
    /** @test */
32
    public function it_generates_code_with_suffix()
33
    {
34
        $this->app['config']->set('promocodes.suffix', 'bar');
35
36
        $promocodes = Promocodes::output();
37
        $promocode = $promocodes[0];
38
39
        $this->assertStringEndsWith('bar', $promocode);
40
    }
41
42
    /** @test */
43
    public function it_generates_code_with_mask()
44
    {
45
        $this->app['config']->set('promocodes.mask', '* * * *');
46
47
        $promocodes = Promocodes::output();
48
        $promocode = $promocodes[0];
49
50
        $this->assertRegExp('/(.*)\s(.*)\s(.*)\s(.*)/', $promocode);
51
    }
52
53
    /** @test */
54
    public function it_has_underscore_as_code_separator_for_prefix_and_suffix()
55
    {
56
        $this->app['config']->set('promocodes.prefix', 'foo');
57
        $this->app['config']->set('promocodes.suffix', 'bar');
58
        $this->app['config']->set('promocodes.separator', '_');
59
60
        $promocodes = Promocodes::output();
61
        $promocode = $promocodes[0];
62
63
        $this->assertStringStartsWith('foo_', $promocode);
64
        $this->assertStringEndsWith('_bar', $promocode);
65
    }
66
}
67