Exemple #1
0
        // Метод для запроса на авторизацию клиента в меню
        public bool tryUserAuth(int client_id)
        {            
            _Current_Client = new Client(client_id);

            // Если клиента не существует
            if (_Current_Client.Client_ID == 0)
                return false;

            return true;
        }
Exemple #2
0
        public void ClientTest()
        {
            // Тест конструктора
            // Ожидаемые данные, взяты из тестовой БД AOS.DB.test
            int expected_client_id_1 = 23456;
            string expected_client_fio_1 =
                "Новиков Павел Николаевич";
            string expected_client_phone_1 =
                "+79084682576";
            string expected_client_discount_1 = "0,05";
            int expected_client_id_2 = 0;
            string expected_client_fio_2 =
                "anonymous";
            string expected_client_phone_2 =
                "none";
            string expected_client_discount_2 = "1";

            // Полученные данные
            Client client_1 = new Client(23456);
            int actual_client_id_1 =
                client_1.Client_ID;
            string actual_client_fio_1 =
                client_1.Client_FIO;
            string actual_client_phone_1 =
                client_1.Client_Phone;
            string actual_client_discount_1 =
                client_1.getClientDiscount();
            Client client_2 = new Client(2345689);
            int actual_client_id_2 =
                client_2.Client_ID;
            string actual_client_fio_2 =
                client_2.Client_FIO;
            string actual_client_phone_2 =
                client_2.Client_Phone;
            string actual_client_discount_2 =
                client_2.getClientDiscount();

            // Утверждения
            Assert.AreEqual(expected_client_id_1, actual_client_id_1);
            Assert.AreEqual(expected_client_fio_1, actual_client_fio_1);
            Assert.AreEqual(expected_client_phone_1, actual_client_phone_1);
            Assert.AreEqual(expected_client_discount_1, actual_client_discount_1);
            Assert.AreEqual(expected_client_id_2, actual_client_id_2);
            Assert.AreEqual(expected_client_fio_2, actual_client_fio_2);
            Assert.AreEqual(expected_client_phone_2, actual_client_phone_2);
            Assert.AreEqual(expected_client_discount_2, actual_client_discount_2);

            // Тест установки размера скидки
            // Ожидаемые данные
            expected_client_discount_1 = "0,08";
            // Полученные данные
            client_1.setClientDiscount();
            actual_client_discount_1 =
                client_1.getClientDiscount();

            // Утверждения
            Assert.AreEqual(expected_client_discount_1, actual_client_discount_1);

            // Возвращаем значения в БД к прежним
            using (AOSDB aos_db = new AOSDB())
            {
                // Находим элемент в таблице с клиентами в БД с ID = 23456
                AOS_KL_CLIENT client =
                    (from item in
                         aos_db.AOS_KL_CLIENT.ToList<AOS_KL_CLIENT>()
                         .AsParallel<AOS_KL_CLIENT>()
                     where (item.PK_AOS_ID_CLIENT == 23456)
                     select item).Single();

                // Возвращаем значение на старте теста
                client.CLIENT_DISCOUNT = 5;
                aos_db.SaveChanges();
            }
        }
        public void MenuSessionTest_1()
        {
            // Тест конструктора
            MenuSession menu_session =
                new MenuSession();
            // Переключаем язык
            menu_session.switchMenuLang();
            // Ожидаемые данные
            string expected_lang_menu_flag = "EN";
            // Полученные данные
            string actual_lang_menu_flag =
                menu_session.lang_menu_flag;
            // Утверждения
            Assert.AreEqual(expected_lang_menu_flag,
                            actual_lang_menu_flag);
            // Переключаем язык
            menu_session.switchMenuLang();
            // Ожидаемые данные
           expected_lang_menu_flag = "RU";
            // Полученные данные
            actual_lang_menu_flag =
                menu_session.lang_menu_flag;
            // Утверждения
            Assert.AreEqual(expected_lang_menu_flag,
                            actual_lang_menu_flag);

            // Тест авторизации клиента 
            // Ожидаемые данные
            Client expected_client = new Client(0);
            bool expected_auth_flag = false;
            // Попытка авторизации в меню существующего клиента
            bool actual_auth_flag = menu_session.tryUserAuth(12);            
            // Утверждения
            Assert.AreEqual(expected_client.Client_FIO,
                menu_session.Current_Client.Client_FIO);
            Assert.AreEqual(expected_auth_flag, actual_auth_flag);
            // Ожидаемые данные
            expected_client = new Client(34567);
            expected_auth_flag = true;
            // Попытка авторизации в меню существующего клиента
            actual_auth_flag = menu_session.tryUserAuth(34567);
            // Утверждения
            Assert.AreEqual(expected_client.Client_FIO,
                menu_session.Current_Client.Client_FIO);
            Assert.AreEqual(expected_auth_flag, actual_auth_flag);

            // Тест создания заказа
            // Ожидаемые данные
            string expected_menu_client_id = "1";
            int expected_client_id = menu_session.Current_Client.Client_ID;
            string expected_present_order_consist = "[{" + '"' + "id" + '"' + ":"
                                                     + '"' + '5' + '"' + ',' + '"'
                                                     + "count" + '"' + ':' + '"' +
                                                     '1' + '"' + "}]";
            string expected_history_order_consist = "[{" + '"' + "id" + '"' + ":"
                                                     + '"' + '5' + '"' + ',' + '"'
                                                     + "count" + '"' + ':' + '"' +
                                                     '6' + '"' + "}]";
            string expected_order_state = "opened";
            decimal expected_order_worth = 2100.00M;
            // Создаем заказ
            menu_session.createOrder(expected_menu_client_id, expected_client_id,
                                     expected_present_order_consist,
                                     expected_history_order_consist,
                                     expected_order_worth);
            // Утверждения
            Assert.AreEqual(expected_order_state,
                menu_session.Current_Order.getOrderState());

            // Тест отправки сообщения
            // Ожидаемые данные
            int expected_msg_client_id = 34567;
            int expected_msg_order_id = menu_session.Current_Order.Order_ID;
            string expected_msg_reciever = "cook";
            string expected_msg_body = "Сообщене для повара";
            // Посылаем сообщение
            menu_session.sendMessage(expected_msg_reciever, expected_msg_body);
            using (AOSDB aos_db = new AOSDB())
            {
                AOS_BD_MESSAGE message =
                    (from item in aos_db.AOS_BD_MESSAGE
                     select item).Single();

                // Утверждения
                Assert.AreEqual(expected_msg_client_id, 
                                message.FK_AOS_ID_CLIENT);
                Assert.AreEqual(expected_msg_order_id,
                                message.FK_AOS_ID_ORDER);
                Assert.AreEqual(expected_msg_reciever,
                                message.MESSAGE_RECIVIER_ID);
                Assert.AreEqual(expected_msg_body,
                                message.MESSAGE_BODY);

                // Очищаем таблицу от тестовых данных
                aos_db.AOS_BD_MESSAGE.Remove(message);
                aos_db.SaveChanges();
            }

            // Тест запроса на вызов сотрудника
            // Ожидаемые данные
            string expected_emenu_client_id = "0.1apb5njklfp";
            int expected_call_client_id = 34567;
            int expected_call_order_id = menu_session.Current_Order.Order_ID;
            string expected_employee_id = "admin";
            // Посылаем запрос на вызов сотрудника
            menu_session.callStaff(expected_emenu_client_id,
                                   expected_employee_id);
            using (AOSDB aos_db = new AOSDB())
            {
                AOS_BD_CALL_QUEUE call =
                    (from item in aos_db.AOS_BD_CALL_QUEUE
                     select item).Single();

                // Утверждения
                Assert.AreEqual(expected_emenu_client_id,
                                call.CALL_QUEUE_EMENU_CLIENT_ID);
                Assert.AreEqual(expected_call_client_id,
                                call.FK_AOS_ID_CLIENT);
                Assert.AreEqual(expected_call_order_id,
                                call.FK_AOS_ID_ORDER);
                Assert.AreEqual(expected_employee_id,
                                call.CALL_QUEUE_EMPLOYEE_ID);      

                // Очищаем таблицу от тестовых данных
                aos_db.AOS_BD_CALL_QUEUE.Remove(call);
                aos_db.SaveChanges();
            }

            // Просим счет
            menu_session.getBill();
        }
Exemple #4
0
        // Метод для закрытия сессии меню
        public bool getBill()
        {
            try
            {                
                // Пересчитываем скидку клиента
                if (_Current_Client != null && _Current_Client.Client_ID != 0)
                    _Current_Client.setClientDiscount();
                // Закрываем заказ и возвращаем сессию в состояние 
                // при старте
                _lang_menu_flag = "RU";
                _Current_Order.closeOrder();
                _Current_Order = null;
                _Current_Client = null;
            }
            // Если не удалось закрыть заказ
            catch (Exception)
            {
                return false;
            }

            return true;
        }