コード例 #1
0
class TestChoosingPaymentDialog(TestCase):
    def setUp(self):
        self.user_session = UserSession('1488228')

        self.user_session.to_waiting_pizza_type()

        DialogEngine.process_message(self.user_session, Options.pizza_big)

    # === test payment method choosing ===

    def test_payment_choosing_wrong_choice(self):
        previous_state = self.user_session.state

        message = DialogEngine.process_message(self.user_session,
                                               'любой неверный выбор')

        self.assertEqual(message, Messages.error)

        self.assertEqual(previous_state, self.user_session.state)

    def test_payment_choosing_cash_choice(self):
        message = DialogEngine.process_message(self.user_session,
                                               Options.payment_cash)

        self.assertEqual(
            message,
            Messages.verify_order_msg(PizzaType.big, PaymentMethod.cash))

        self.assertTrue(self.user_session.is_verifying_order())

        self.assertEqual(self.user_session.payment_method, PaymentMethod.cash)

    def test_payment_choosing_card_choice(self):
        message = DialogEngine.process_message(self.user_session,
                                               Options.payment_card)

        self.assertEqual(
            message,
            Messages.verify_order_msg(PizzaType.big, PaymentMethod.card))

        self.assertTrue(self.user_session.is_verifying_order())

        self.assertEqual(self.user_session.payment_method, PaymentMethod.card)
コード例 #2
0
class TestOrderVerifyingDialog(TestCase):
    def setUp(self):
        self.user_session = UserSession('1488228')

        self.user_session.to_waiting_pizza_type()

        DialogEngine.process_message(self.user_session, Options.pizza_big)

        DialogEngine.process_message(self.user_session, Options.payment_card)

    # === test order verifying ===

    def test_order_verifying_wrong_choice(self):
        previous_state = self.user_session.state

        message = DialogEngine.process_message(self.user_session,
                                               'любой текст')

        self.assertEqual(message, Messages.error)

        self.assertEqual(self.user_session.state, previous_state)

    def test_order_verifying_verify_choice(self):
        message = DialogEngine.process_message(self.user_session,
                                               Options.order_verify)

        self.assertEqual(message, Messages.order_created)

        self.assertTrue(self.user_session.is_initial())

    def test_order_verifying_decline_choice(self):
        messages = DialogEngine.process_message(self.user_session,
                                                Options.order_decline)

        self.assertListEqual(messages,
                             [Messages.restart_order, Messages.choose_pizza])

        self.assertTrue(self.user_session.is_waiting_pizza_type())
コード例 #3
0
class TestChoosingPizzaDialog(TestCase):
    def setUp(self):
        self.user_session = UserSession('1488228')

        self.user_session.to_waiting_pizza_type()

    # === test pizza choosing ===

    def test_pizza_choosing_wrong_choice(self):
        previous_state = self.user_session.state

        message = DialogEngine.process_message(self.user_session,
                                               'любой неверный выбор')

        self.assertEqual(message, Messages.error)

        self.assertEqual(self.user_session.state, previous_state)

    def test_pizza_choosing_small_pizza_choice(self):
        message = DialogEngine.process_message(self.user_session,
                                               Options.pizza_small)

        self.assertEqual(message, Messages.choose_payment)

        self.assertTrue(self.user_session.is_waiting_payment_method())

        self.assertEqual(self.user_session.pizza_type, PizzaType.small)

    def test_pizza_choosing_big_pizza_choice(self):
        message = DialogEngine.process_message(self.user_session,
                                               Options.pizza_big)

        self.assertEqual(message, Messages.choose_payment)

        self.assertTrue(self.user_session.is_waiting_payment_method())

        self.assertEqual(self.user_session.pizza_type, PizzaType.big)