示例#1
0
    def send_create_basket_message(self):
        """
        Send a create basket message.

        return: basket code (uuid)
        """
        message = MessageManager.create_basket_message(basket_code=None)
        message_response = Message.deserialize(
            self._send_message(message.serialize()))

        return message_response.content['basket_code']
示例#2
0
    def message_handler(self, message):
        """
        Message handler. Translate every received message in a valid manager action and returns a valid message
        with the response of the action.

        message: MessageItem object
        return: MessageItem object
        """
        if message.code == Message.CREATE_BASKET_MESSAGE:
            basket_code = self.manager.create()
            return MessageManager.create_basket_message(basket_code)

        if message.code == Message.REMOVE_BASKET_MESSAGE:
            basket_code = message.content['basket_code']
            self.manager.remove(basket_code)
            return MessageManager.create_ack_message()

        if message.code == Message.ADD_PRODUCT_MESSAGE:
            basket_code = message.content['basket_code']
            product_code = message.content['product_code']

            self.manager.add_product(basket_code, product_code)
            return MessageManager.create_ack_message()

        if message.code == Message.REMOVE_PRODUCT_MESSAGE:
            basket_code = message.content['basket_code']
            product_code = message.content['product_code']

            self.manager.remove_product(basket_code, product_code)
            return MessageManager.create_ack_message()

        if message.code == Message.GET_PRODUCTS_MESSAGE:
            basket_code = message.content['basket_code']
            products = self.manager.get_products(basket_code)

            return MessageManager.get_products_message(products=products)

        if message.code == Message.GET_CHECKOUT_MESSAGE:
            basket_code = message.content['basket_code']
            total = self.manager.checkout(basket_code)

            return MessageManager.get_checkout_message(total=total)

        return MessageManager.create_invalid_message()
示例#3
0
def create_basket():
    basket_code = manager.create()
    return MessageManager.create_basket_message(basket_code)