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