def test_store_new_customer(customer_repository): nicole = Customer(first_name="Nicole", surname="Forsgren") jez = Customer(first_name="Jez", surname="Humble") customer_repository.store(nicole) customer_repository.store(jez) assert customer_repository.fetch_by_id(nicole.customer_id) is nicole assert customer_repository.fetch_by_id(jez.customer_id) is jez
def test_store_stores_customer_with_id(customer_repository): nicole = Customer(customer_id=123, first_name="Nicole", surname="Forsgren") jez = Customer(customer_id=321, first_name="Jez", surname="Humble") customer_repository.store(nicole) customer_repository.store(jez) assert customer_repository.fetch_by_id(123) is nicole assert customer_repository.fetch_by_id(321) is jez
def test_update_customer(customer_repository): customer1 = Customer(customer_id=123456, first_name='Rudi', surname='Joyel') customer2 = Customer(customer_id=12345, first_name='Nicole', surname='Forsgren') customer_repository.store(customer1) customer_repository.store(customer2) commands.update_customer(customer_id=123456, surname="Jack", customer_repository=customer_repository) commands.update_customer(customer_id=12345, surname="Woods", customer_repository=customer_repository) updated_customer1 = customer_repository.fetch_by_id(123456) updated_customer2 = customer_repository.fetch_by_id(12345) assert updated_customer1.first_name == "Rudi" assert updated_customer1.surname == "Jack" assert updated_customer2.first_name == "Nicole" assert updated_customer2.surname == "Woods"
def test_update_customer(customer_repository): nicole = Customer(customer_id=123, first_name="Nicole", surname="Forsgren") jez = Customer(customer_id=123, first_name="Jez", surname="Humble") customer_repository.store(nicole) customer_repository.update_customer(jez) assert customer_repository.fetch_by_id(123).first_name == jez.first_name assert customer_repository.fetch_by_id(123).surname == jez.surname
def test_update_customer_special_char_input(update_customer, web_client, customer_repository): update_customer.return_value = Customer(customer_id=12345, first_name='Joe', surname='Bloggs') response = web_client.put('/customers/12345/Joe4/Bloggs0') assert response.status_code == 400
def update_customer(customer_id, first_name, surname, customer_repository): customer = Customer( customer_id=customer_id, first_name=first_name, surname=surname) customer_repository.update_customer(customer) return customer
def test_get_customer(customer_repository): customer = Customer(customer_id=1234, first_name='Gene', surname='Kim') customer_repository.store(customer) result = commands.get_customer(customer_id=1234, customer_repository=customer_repository) assert result is customer
def create_customer(context, name, customer_id): (first_name, surname) = name.split(' ', 2) customer = Customer(customer_id=customer_id, first_name=first_name, surname=surname) context.customer_repository.store(customer)
def test_create_customer(customer_repository): customer = Customer(first_name='Nicole', surname='Forsgren') commands.create_customer(customer=customer, customer_repository=customer_repository) stored_customer = customer_repository.fetch_by_id(customer.customer_id) assert stored_customer.first_name == 'Nicole' assert stored_customer.surname == 'Forsgren'
def test_update_surname(customer_repository): customer = Customer(first_name='Jack', surname='Black') commands.create_customer(customer=customer, customer_repository=customer_repository) commands.update_surname(customer.customer_id, 'Jones', customer_repository) stored_customer = customer_repository.fetch_by_id(customer.customer_id) assert stored_customer.first_name == 'Jack' assert stored_customer.surname == 'Jones'
def test_update_customer(update_customer, web_client, customer_repository): update_customer.return_value = Customer(customer_id=12345, first_name='Joe', surname='Bloggs') response = web_client.put('/customers/12345/Joe/Bloggs') assert response.is_json assert response.get_json()['customerID'] == 12345 assert response.get_json()['firstName'] == "Joe" assert response.get_json()['surname'] == "Bloggs"
def test_update_customer(customer_repository): customer = Customer(first_name='Gene', surname='Kim') customer_repository.store(customer) commands.update_customer(customer_id=customer.customer_id, customer_repository=customer_repository, first_name='Gene', surname='Wilder') stored_customer = customer_repository.fetch_by_id(customer.customer_id) assert stored_customer.first_name == 'Gene' assert stored_customer.surname == 'Wilder'
def test_get_customer_id(get_customer, web_client, customer_repository): get_customer.return_value = Customer(customer_id=12345, first_name='Joe', surname='Bloggs') response = web_client.get('/customers/12345') get_customer.assert_called_with(customer_id=12345, customer_repository=customer_repository) assert response.is_json assert response.get_json() == dict(customerId='12345', firstName='Joe', surname='Bloggs')
def test_update_customer(customer_repository): customer = Customer(customer_id=12345, first_name='Nicole', surname='Forsgren') customer_repository.store(customer) commands.update_customer(surname='Bloggs', customer_id=12345, customer_repository=customer_repository) stored_customer = customer_repository.fetch_by_id(customer.customer_id) assert stored_customer.surname == 'Bloggs'
def fetch_by_id(self, customer_id): doc_ref = self.customer_repo.document(customer_id) doc = doc_ref.get() logging.info("document: {}".format(doc)) logging.info(u'Document data: {}'.format(doc.to_dict())) customer_json = doc.to_dict() if customer_json is not None: return Customer(customer_id=customer_json["customer_id"], first_name=customer_json["firstName"], surname=customer_json["surname"]) else: raise CustomerNotFound()
def test_update_customer(customer_repository): customer = Customer(customer_id=12345, first_name='Gene', surname='Kim') customer_repository.store(customer) commands.update_customer( customer_id=12345, first_name='Nicole', surname='Forsgren', customer_repository=customer_repository) stored_customer = customer_repository.fetch_by_id(12345) assert stored_customer.first_name == 'Nicole' assert stored_customer.surname == 'Forsgren'
def test_update_customer(customer_repository): customer = Customer(customer_id=1234, first_name='Gene', surname='Kim') customer_repository.store(customer) result = commands.update_customer(cid=customer.customer_id, first_name=customer.first_name, surname="Sid", customer_repository=customer_repository) assert result.first_name == 'Gene' assert result.surname == 'Sid' stored_customer = customer_repository.fetch_by_id(1234) assert stored_customer.first_name == 'Gene' assert stored_customer.surname == 'Sid'
def create_customer(): customer_repository = current_app.customer_repository if not request.is_json: raise ContentTypeError() body = request.get_json() CREATE_PAYLOAD_SCHEMA.validate(body) customer = Customer(first_name=body['firstName'], surname=body['surname']) commands.create_customer(customer=customer, customer_repository=customer_repository) return jsonify(customerId=str(customer.customer_id), firstName=customer.first_name, surname=customer.surname), HTTPStatus.CREATED
def update_customer(customer_id): customer_repository = current_app.customer_repository if not request.is_json: raise ContentTypeError() body = request.get_json() customer = Customer(first_name=body['firstName'], surname=body['surname']) commands.update_customer(customer_id=customer_id, customer_repository=customer_repository, first_name=customer.first_name, surname=customer.surname) return jsonify(customerId=str(customer.customer_id), firstName=customer.first_name, surname=customer.surname), HTTPStatus.OK
def test_update_customer(customer_repository): # Given customer exists existing_customer = Customer(first_name='Nicole', surname='Foresgren') customer_repository.store(existing_customer) # When customer updated customer_id = existing_customer.customer_id commands.update_customer(first_name='Bob', surname='Todd', customer_id=customer_id, customer_repository=customer_repository) # Then updated_customer = customer_repository.fetch_by_id(customer_id) assert updated_customer.first_name == 'Bob' assert updated_customer.surname == 'Todd' assert updated_customer.customer_id == customer_id
def test_update_customer_name(customer_repository): mock_fetch_by_id = MagicMock() mock_fetch_by_id.return_value = Customer(customer_id=5, first_name="Susan", surname="Davies") customer_repository.fetch_by_id = mock_fetch_by_id mock_store = MagicMock() customer_repository.store = mock_store commands.update_customer(customer_id=5, first_name="Bob", surname="Jones", customer_repository=customer_repository) mock_fetch_by_id.assert_called_once_with(5) store_argument = mock_store.call_args_list[0][0][0] assert store_argument.first_name == "Bob" assert store_argument.surname == "Jones"
def create_customer(first_name, surname, customer_repository): customer = Customer(first_name=first_name, surname=surname) customer_repository.store(customer) return customer.customer_id