forked from CGM_Public/pretix_original
Gift cards: Improved support for cross-organizer acceptance (#3311)
Co-authored-by: Martin Gross <martin@pc-coholic.de>
This commit is contained in:
@@ -51,7 +51,8 @@ def gift_card(organizer):
|
||||
@pytest.fixture
|
||||
def admin_user(organizer):
|
||||
u = User.objects.create_user('dummy@dummy.dummy', 'dummy')
|
||||
admin_team = Team.objects.create(organizer=organizer, can_manage_gift_cards=True, name='Admin team')
|
||||
admin_team = Team.objects.create(organizer=organizer, can_manage_gift_cards=True, name='Admin team',
|
||||
can_change_organizer_settings=True)
|
||||
admin_team.members.add(u)
|
||||
return u
|
||||
|
||||
@@ -174,24 +175,29 @@ def test_card_detail_view_transact_invalid_value(organizer, admin_user, gift_car
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_manage_acceptance(organizer, organizer2, admin_user, gift_card, client, team2):
|
||||
gca = organizer.gift_card_issuer_acceptance.create(issuer=organizer2, active=False)
|
||||
|
||||
client.login(email='dummy@dummy.dummy', password='dummy')
|
||||
client.post('/control/organizer/dummy/giftcards', {
|
||||
'add': organizer2.slug
|
||||
client.post('/control/organizer/dummy/giftcards/acceptance', {
|
||||
'accept_issuer': organizer2.slug
|
||||
})
|
||||
assert organizer.gift_card_issuer_acceptance.filter(issuer=organizer2).exists()
|
||||
client.post('/control/organizer/dummy/giftcards', {
|
||||
'del': organizer2.slug
|
||||
|
||||
gca.refresh_from_db()
|
||||
assert gca.active
|
||||
|
||||
client.post('/control/organizer/dummy/giftcards/acceptance', {
|
||||
'delete_issuer': organizer2.slug
|
||||
})
|
||||
assert not organizer.gift_card_issuer_acceptance.filter(issuer=organizer2).exists()
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_manage_acceptance_permission_required(organizer, organizer2, admin_user, gift_card, client):
|
||||
client.login(email='dummy@dummy.dummy', password='dummy')
|
||||
client.post('/control/organizer/dummy/giftcards', {
|
||||
'add': organizer2.slug
|
||||
client.post('/control/organizer/dummy/giftcards/acceptance/invite', {
|
||||
'acceptor': organizer2.slug
|
||||
})
|
||||
assert not organizer.gift_card_issuer_acceptance.filter(issuer=organizer2).exists()
|
||||
assert organizer.gift_card_acceptor_acceptance.filter(acceptor=organizer2).exists()
|
||||
client.post('/control/organizer/dummy/giftcards/acceptance', {
|
||||
'delete_acceptor': organizer2.slug
|
||||
})
|
||||
assert not organizer.gift_card_acceptor_acceptance.filter(acceptor=organizer2).exists()
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
|
||||
@@ -219,6 +219,8 @@ organizer_urls = [
|
||||
'organizer/abc/giftcard/add',
|
||||
'organizer/abc/giftcard/1/',
|
||||
'organizer/abc/giftcard/1/edit',
|
||||
'organizer/abc/giftcards/acceptance',
|
||||
'organizer/abc/giftcards/acceptance/invite',
|
||||
]
|
||||
|
||||
|
||||
@@ -552,6 +554,8 @@ organizer_permission_urls = [
|
||||
("can_manage_gift_cards", "organizer/dummy/giftcard/add", 200),
|
||||
("can_manage_gift_cards", "organizer/dummy/giftcard/1/", 404),
|
||||
("can_manage_gift_cards", "organizer/dummy/giftcard/1/edit", 404),
|
||||
("can_change_organizer_settings", "organizer/dummy/giftcards/acceptance", 200),
|
||||
("can_change_organizer_settings", "organizer/dummy/giftcards/acceptance/invite", 200),
|
||||
|
||||
# bank transfer
|
||||
("can_change_orders", "organizer/dummy/banktransfer/import/", 200),
|
||||
|
||||
Reference in New Issue
Block a user