def test_delete_customer_with_success():
    repo = FakeCustomerRepository()
    repo.save(entities.Customer(id=1, name='Alice', email='*****@*****.**'))
    service = DeleteCustomer(repo)
    service({'customer_id': 1})

    assert repo.get_by_email('*****@*****.**') is None
Example #2
0
def test_customer_saved_in_repository_after_create():
    repo = FakeCustomerRepository()
    service = CreateCustomer(repo)
    payload = {
        'name': 'Cesar Smaniotto JĂșnior',
        'email': '*****@*****.**',
    }

    service(payload)
    assert repo.get_by_email('*****@*****.**') is not None
Example #3
0
def test_add_product_to_wishlist_with_success():
    repo = FakeCustomerRepository()
    product_api = FakeProductAPI(['a33b099f-fe56-46af-901e-7cef5d7ab9c4'])
    repo.save(entities.Customer(id=1, name='Alice', email='*****@*****.**'))

    service = AddProductToWishlist(repo, product_api)
    service({
        'customer_id': 1,
        'product_id': 'a33b099f-fe56-46af-901e-7cef5d7ab9c4'
    })

    customer = repo.get_by_email('*****@*****.**')
    assert 'a33b099f-fe56-46af-901e-7cef5d7ab9c4' in {
        wished_product.product_id
        for wished_product in customer.wishlist
    }
Example #4
0
def test_remove_product_from_wishlist_with_success():
    repo = FakeCustomerRepository()
    customer = Customer(
        id=1,
        name='Alice',
        email='*****@*****.**',
        wishlist={
            WishedProduct('735e774f-0dbd-4656-852f-b0985c321090'),
            WishedProduct('00bd0eb1-0832-476c-8f44-5494a39c96d8'),
        },
    )
    repo.save(customer)

    service = RemoveProductFromWishlist(repo)
    service({
        'customer_id': 1,
        'product_id': '735e774f-0dbd-4656-852f-b0985c321090'
    })

    customer = repo.get_by_email('*****@*****.**')
    assert '735e774f-0dbd-4656-852f-b0985c321090' not in {
        wished_product.product_id
        for wished_product in customer.wishlist
    }