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
|
|
|
|