Completed
Push — main ( b7acb4...84e7fd )
by Jochen
03:57
created

tests.integration.services.shop.article.test_article_number_generation   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 67
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 37
dl 0
loc 67
rs 10
c 0
b 0
f 0
wmc 4

4 Functions

Rating   Name   Duplication   Size   Complexity  
A test_generate_article_number_default() 0 17 1
A shop1() 0 5 1
A shop2() 0 5 1
A test_generate_article_number_custom() 0 19 1
1
"""
2
:Copyright: 2006-2020 Jochen Kupperschmidt
3
:License: Modified BSD, see LICENSE for details.
4
"""
5
6
import pytest
7
8
from byceps.services.shop.article import (
9
    sequence_service as article_sequence_service,
10
)
11
from byceps.services.shop.shop import service as shop_service
12
13
14
@pytest.fixture(scope='module')
15
def shop1(email_config):
16
    shop = shop_service.create_shop('shop-01', 'Some Shop', email_config.id)
17
    yield shop
18
    shop_service.delete_shop(shop.id)
19
20
21
@pytest.fixture(scope='module')
22
def shop2(email_config):
23
    shop = shop_service.create_shop('shop-02', 'Another Shop', email_config.id)
24
    yield shop
25
    shop_service.delete_shop(shop.id)
26
27
28
def test_generate_article_number_default(admin_app, shop1):
29
    shop = shop1
30
31
    article_number_sequence_id = (
32
        article_sequence_service.create_article_number_sequence(
33
            shop.id, 'AEC-01-A'
34
        )
35
    )
36
37
    actual = article_sequence_service.generate_article_number(
38
        article_number_sequence_id
39
    )
40
41
    assert actual == 'AEC-01-A00001'
42
43
    article_sequence_service.delete_article_number_sequence(
44
        article_number_sequence_id
45
    )
46
47
48
def test_generate_article_number_custom(admin_app, shop2):
49
    shop = shop2
50
51
    article_number_sequence_id = (
52
        article_sequence_service.create_article_number_sequence(
53
            shop.id,
54
            'XYZ-09-A',
55
            value=41,
56
        )
57
    )
58
59
    actual = article_sequence_service.generate_article_number(
60
        article_number_sequence_id
61
    )
62
63
    assert actual == 'XYZ-09-A00042'
64
65
    article_sequence_service.delete_article_number_sequence(
66
        article_number_sequence_id
67
    )
68