Completed
Push — main ( dc9c2e...80557c )
by Jochen
05:20
created

admin()   A

Complexity

Conditions 1

Size

Total Lines 9
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 8
nop 1
dl 0
loc 9
rs 10
c 0
b 0
f 0
1
"""
2
:Copyright: 2006-2020 Jochen Kupperschmidt
3
:License: Modified BSD, see LICENSE for details.
4
"""
5
6
import pytest
7
8
import byceps.services.shop.shop.service as shop_service
9
10
from tests.helpers import login_user
11
12
13
@pytest.fixture(scope='package')
14
def shop_admin(make_admin):
15
    permission_ids = {
16
        'admin.access',
17
        'shop.create',
18
    }
19
    admin = make_admin('ShopAdmin', permission_ids)
20
    login_user(admin.id)
21
    return admin
22
23
24
@pytest.fixture(scope='package')
25
def shop_admin_client(make_client, admin_app, shop_admin):
26
    return make_client(admin_app, user_id=shop_admin.id)
27
28
29
def test_create_shop(email_config, shop_admin_client):
30
    shop_id = 'acme'
31
    assert shop_service.find_shop(shop_id) is None
32
33
    url = '/admin/shop/shop/shops'
34
    form_data = {
35
        'id': shop_id,
36
        'title': 'ACME',
37
        'email_config_id': email_config.id,
38
    }
39
    response = shop_admin_client.post(url, data=form_data)
40
41
    shop = shop_service.find_shop(shop_id)
42
    assert shop is not None
43
    assert shop.id == shop_id
44
    assert shop.title == 'ACME'
45
    assert shop.email_config_id == email_config.id
46