示例#1
0
    def setUp(self):
        super().setUp()

        self.user1 = create_user_with_detail('User1')
        self.user2 = create_user_with_detail('User2')

        create_email_config()

        self.shop = self.create_shop('shop-1')

        self.brand = create_brand()
示例#2
0
    def setUp(self):
        super().setUp()

        self.admin = create_user_with_detail('Admin')
        self.buyer = create_user_with_detail('Buyer')

        create_email_config()

        self.shop = self.create_shop()

        shop_sequence_service.create_sequence(self.shop.id, Purpose.order,
                                              prefix='article-')

        brand = create_brand()
        self.party = create_party(brand_id=brand.id)
示例#3
0
def test_remove_unknown_key_from_null_extras(app):
    user_id = create_user_with_detail('null-extras').id

    assert get_extras(user_id) is None

    user_command_service.remove_user_detail_extra(user_id, 'dunno')
    assert get_extras(user_id) is None
示例#4
0
def test_remove_unknown_key_from_empty_extras(app):
    user_id = create_user_with_detail('empty-extras').id

    set_extras_to_empty_dict(user_id)
    assert get_extras(user_id) == {}

    user_command_service.remove_user_detail_extra(user_id, 'dunno')
    assert get_extras(user_id) == {}
示例#5
0
    def setUp(self):
        super().setUp()

        create_email_config()

        self.shop1_id = self.create_shop('shop-1').id
        self.shop2_id = self.create_shop('shop-2').id

        brand = create_brand()

        party1 = create_party(brand.id, 'lafiesta-2012', 'La Fiesta 2012')
        party2 = create_party(brand.id, 'lafiesta-2013', 'La Fiesta 2013')

        self.create_order_number_sequence(self.shop1_id, 'LF-02-B')
        self.create_order_number_sequence(self.shop2_id, 'LF-03-B')

        self.user1 = create_user_with_detail('User1')
        self.user2 = create_user_with_detail('User2')
示例#6
0
    def setUp(self):
        super().setUp(config_filename=CONFIG_FILENAME_TEST_ADMIN)

        self.admin = self.create_admin()
        self.orderer = create_user_with_detail('Besteller')

        create_email_config()

        self.shop = self.create_shop()
        self.create_order_number_sequence(self.shop.id, 'AEC-05-B')
        self.create_shop_fragment(self.shop.id, 'email_footer', 'kthxbye')

        brand = create_brand()
        party = create_party(brand.id)
示例#7
0
    def setUp(self):
        super().setUp()

        user = create_user_with_detail()
        self.orderer = create_orderer(user)

        create_email_config()

        self.shop = self.create_shop()
        self.create_order_number_sequence(self.shop.id, 'LF-01-B')

        self.article1 = self.create_article(1, Decimal('49.95'))
        self.article2 = self.create_article(2, Decimal('6.20'))
        self.article3 = self.create_article(3, Decimal('12.53'))
示例#8
0
    def setUp(self):
        super().setUp()

        user = create_user_with_detail()
        self.orderer = create_orderer(user)

        create_email_config()

        self.shop = self.create_shop()

        brand = create_brand()
        party = create_party(brand.id)

        self.create_order_number_sequence(self.shop.id, 'ABC-01-B')
        self.article = self.create_article(self.shop.id, quantity=100)
示例#9
0
    def setUp(self):
        super().setUp()

        create_email_config(sender_address='*****@*****.**')

        self.shop = self.create_shop()
        self.create_order_number_sequence(self.shop.id, 'AC-14-B', value=16)

        self.create_email_footer_snippet()

        brand = create_brand()

        self.party = create_party(brand.id)

        self.user = create_user_with_detail('Versager')

        self.order_id = self.place_order(self.user)

        reason = 'Du hast nicht rechtzeitig bezahlt.'
        order_service.cancel_order(self.order_id, self.admin.id, reason)
示例#10
0
    def setUp(self):
        super().setUp()

        create_email_config(sender_address='*****@*****.**')

        self.shop = self.create_shop()
        self.create_order_number_sequence(self.shop.id, 'AC-14-B', value=252)

        self.create_email_payment_instructions_snippet()
        self.create_email_footer_snippet()

        self.create_articles()

        brand = create_brand()

        self.party = create_party(brand.id)

        self.user = create_user_with_detail('Interessent')

        self.order_id = self.place_order(self.user)
示例#11
0
def test_set_and_remove(app):
    user_id = create_user_with_detail('set-and-remove').id

    # Make sure field is `NULL`.
    assert get_extras(user_id) is None

    # Add first entry.
    user_command_service.set_user_detail_extra(user_id, 'hobbies', 'Science!')
    assert get_extras(user_id) == {'hobbies': 'Science!'}

    # Add second entry.
    user_command_service.set_user_detail_extra(user_id, 'size_of_shoes', 42)
    assert get_extras(user_id) == {'hobbies': 'Science!', 'size_of_shoes': 42}

    # Remove first entry.
    user_command_service.remove_user_detail_extra(user_id, 'hobbies')
    assert get_extras(user_id) == {'size_of_shoes': 42}

    # Remove second entry.
    user_command_service.remove_user_detail_extra(user_id, 'size_of_shoes')
    assert get_extras(user_id) == {}
示例#12
0
    def setUp(self):
        super().setUp()

        create_email_config(sender_address='*****@*****.**')

        self.shop = self.create_shop()
        self.create_order_number_sequence(self.shop.id, 'AC-14-B', value=21)

        self.create_email_footer_snippet()

        brand = create_brand()

        self.party = create_party(brand.id)

        self.user = create_user_with_detail('Vorbild')

        self.order_id = self.place_order(self.user)

        order_service.mark_order_as_paid(self.order_id,
                                         PaymentMethod.bank_transfer,
                                         self.admin.id)
示例#13
0
    def setUp(self):
        super().setUp()

        self.user_id = create_user_with_detail().id
示例#14
0
def test_delete_account(app, db, permission, role):
    admin_id = app.admin_id

    user_id = UUID('20868b15-b935-40fc-8054-38854ef8509a')
    screen_name = 'GetRidOfMe'
    email_address = '*****@*****.**'
    legacy_id = 22299

    user = create_user_with_detail(screen_name,
                                   user_id=user_id,
                                   email_address=email_address)

    user.legacy_id = legacy_id
    db.session.commit()

    authorization_service.assign_role_to_user(role.id, user_id)

    reason = 'duplicate'

    user_before = user_command_service._get_user(user_id)

    assert user_before.screen_name == screen_name
    assert user_before.email_address == email_address
    assert user_before.deleted == False
    assert user_before.legacy_id == legacy_id

    # details
    assert user_before.detail.first_names is not None
    assert user_before.detail.last_name is not None
    assert user_before.detail.date_of_birth is not None
    assert user_before.detail.country is not None
    assert user_before.detail.zip_code is not None
    assert user_before.detail.city is not None
    assert user_before.detail.street is not None
    assert user_before.detail.phone_number is not None

    # events
    events_before = event_service.get_events_for_user(user_before.id)
    assert len(events_before) == 1
    assert events_before[0].event_type == 'role-assigned'

    # authorization
    assert authorization_service.find_role_ids_for_user(user_id) == {
        'board_moderator'
    }
    assert authorization_service.get_permission_ids_for_user(user_id) == {
        'board_topic_hide'
    }

    # -------------------------------- #

    user_command_service.delete_account(user_id, admin_id, reason=reason)

    # -------------------------------- #

    user_after = user_command_service._get_user(user_id)

    assert user_after.screen_name == 'deleted-20868b15b93540fc805438854ef8509a'
    assert user_after.email_address == '*****@*****.**'
    assert user_after.deleted == True
    assert user_after.legacy_id is None

    # details
    assert user_after.detail.first_names is None
    assert user_after.detail.last_name is None
    assert user_after.detail.date_of_birth is None
    assert user_after.detail.country is None
    assert user_after.detail.zip_code is None
    assert user_after.detail.city is None
    assert user_after.detail.street is None
    assert user_after.detail.phone_number is None

    # avatar
    assert user_after.avatar_selection is None

    # events
    events_after = event_service.get_events_for_user(user_after.id)
    assert len(events_after) == 2

    user_enabled_event = events_after[1]
    assert user_enabled_event.event_type == 'user-deleted'
    assert user_enabled_event.data == {
        'initiator_id': str(admin_id),
        'reason': reason,
    }

    # authorization
    assert authorization_service.find_role_ids_for_user(user_id) == set()
    assert authorization_service.get_permission_ids_for_user(user_id) == set()