def test_get_purchases_by_room_id_by_admin_hotel(self,
                                                     use_session_admin_hotel):
        """ Тест получения списка покупок в номере с покупками администратором гостиницы """
        with allure.step(
                'Запрос на получение списка покупок в определенном номере'):
            r = Rooms().get_purchases(san=DV.SAN_ROOM_WITH_PURCHASES)

        with allure.step('Проверка на успешный статус код'):
            assert_that(r.status_code, equal_to(200))

        with allure.step('Проверки информации о комнате'):
            assert_that(r.json()[0]["service_account_number"],
                        equal_to(DV.SAN_ROOM_WITH_PURCHASES))
            assert_that(
                r.json()[0],
                has_entries("service_account_number",
                            equal_to(DV.SAN_ROOM_WITH_PURCHASES), "purchases",
                            is_not([])))

        with allure.step('Проверки списка покупок'):
            assert_that(r.json()[0]["purchases"][0],
                        has_entries("name", equal_to("Сахара")))
            assert_that(r.json()[0]["purchases"][1],
                        has_entries("name", equal_to("Карлик Нос")))
            assert_that(r.json()[0]["purchases"][2],
                        has_entries("name", equal_to("Взрослый Деловой")))
    def test_get_purchases_by_id_by_employee(self, use_session_employee):
        """ Тест получения списка покупок в номере с покупками сотрудником """
        with allure.step(
                'Запрос на получение списка покупок в номере по его SAN'):
            r = Rooms().get_purchases_by_san(san=DV.SAN_ROOM_WITH_PURCHASES)

        with allure.step('Проверка на успешный статус код'):
            assert_that(r.status_code, equal_to(200))

        with allure.step('Проверки информации о комнате'):
            assert_that(r.json()["service_account_number"],
                        equal_to(DV.SAN_ROOM_WITH_PURCHASES))
            assert_that(
                r.json(),
                has_entries("service_account_number",
                            equal_to(DV.SAN_ROOM_WITH_PURCHASES), "purchases",
                            is_not([])))

        with allure.step('Проверки списка покупок'):
            assert_that(r.json()["purchases"][0],
                        has_entries("name", equal_to("Сахара")))
            assert_that(r.json()["purchases"][1],
                        has_entries("name", equal_to("Карлик Нос")))
            assert_that(r.json()["purchases"][2],
                        has_entries("name", equal_to("Взрослый Деловой")))
    def test_change_room_number_in_another_hotel_by_admin_hotel(self, use_session_admin_hotel):
        """ Тест попытки изменить номер комнаты в другой гостинице администратором гостиницы """
        with allure.step('Запрос на изменение номера комнаты в номере чужой гостиницы по его SAN'):
            r = Rooms(number="123").post_change_number(DV.SECOND_SAN_MAIN_ROOM)

        with allure.step('Проверки, что сотруднику запрещено изменять номера комнат в чужой гостинице'):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(12))
            assert_that(r.json()["description"], equal_to("Action is forbidden for given room's san"))
    def test_check_out_for_incorrect_room_by_admin_hotel(self, use_session_admin_hotel):
        """ Тест попытки выселения из несуществующего номера администратором гостиницы """
        with allure.step('Запрос на выселение из комнаты с несуществующим SAN'):
            r = Rooms(name="Guest").post_check_out("incorrect")

        with allure.step('Проверки на корректность ответа от сервера при попытке выселить несуществующую комнату'):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(12))
            assert_that(r.json()["description"], equal_to("Action is forbidden for given room's san"))
    def test_check_out_for_another_hotel_by_admin_hotel(self, use_session_admin_hotel):
        """ Тест попытки выселения из номера другой гостиницы администратором гостиницы """
        with allure.step('Запрос на выселение из комнаты чужой гостиницы'):
            r = Rooms(name="Guest").post_check_out(DV.SECOND_SAN_MAIN_ROOM)

        with allure.step('Проверки, что сотрудник не может выселять номера чужой гостиницы'):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(12))
            assert_that(r.json()["description"], equal_to("Action is forbidden for given room's san"))
    def test_change_room_number_to_incorrect_room_by_admin_hotel(self, use_session_admin_hotel):
        """ Тест попытки изменить номер комнаты в несуществущем номере администратором гостиницы """
        with allure.step('Запрос на изменение номера комнаты с несуществующим SAN'):
            r = Rooms(number="123").post_change_number("incorrect")

        with allure.step('Проверки на корректный ответ от сервера'):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(12))
            assert_that(r.json()["description"], equal_to("Action is forbidden for given room's san"))
    def test_post_notify_no_role(self, delete_session):
        """ Тест отправки нотификации в несколько номеров без авторизационного токена """
        with allure.step('Запрос на отправку нотификации во все номера гостиницы'):
            r = Rooms().post_notify_to_all_rooms()

        with allure.step('Проверки, что без авторизационного токена нельзя выполнить данный метод'):
            assert_that(r.status_code, equal_to(401))
            assert_that(r.json()["error_code"], equal_to(1))
            assert_that(r.json()["description"], equal_to("No 'session_id' header was provided"))
    def test_get_rooms_by_incorrect_id_by_admin_hotel(self, use_session_admin_hotel):
        """ Тест попытки получить информацию о несуществующем номере администратором гостиницы """
        with allure.step('Запрос на получение информации о номере'):
            r = Rooms().get_room_by_san(san="incorrect")

        with allure.step('Проверка на корректный ответ при попытке получить информацию о несуществующем номере'):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(12))
            assert_that(r.json()["description"], equal_to("Action is forbidden for given room's san"))
    def test_get_rooms_by_id_by_admin_hotel(self, use_session_admin_hotel):
        """ Тест получения информации о номере администратором гостиницы """
        with allure.step('Запрос на получение информации о номере'):
            r = Rooms().get_room_by_san(san=DV.SAN_MAIN_ROOM)

        with allure.step('Проверка на успешный статус код и на верные SAN и номер комнаты в ответе'):
            assert_that(r.status_code, equal_to(200))
            assert_that(r.json()["id"], equal_to(DV.SAN_MAIN_ROOM))
            assert_that(r.json()["number"], equal_to(DV.NUMBER_MAIN_ROOM))
    def test_get_rooms_by_id_in_not_your_hotel_by_admin_hotel(self, use_session_admin_hotel):
        """ Тест попытки получить информацию о номере не в своей гостинице администратором гостиницы """
        with allure.step('Запрос на получение информации о номере'):
            r = Rooms().get_room_by_san(san=DV.SECOND_SAN_MAIN_ROOM)

        with allure.step('Проверка, что сотрудник не может просмотреть информацию о номере в чужой гостинице'):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(12))
            assert_that(r.json()["description"], equal_to("Action is forbidden for given room's san"))
Ejemplo n.º 11
0
    def test_post_notify_to_incorrect_room_by_employee(self, use_session_employee):
        """ Тест отправки нотификации в несуществующую комнату сотрудником """
        with allure.step('Запрос на отправку нотификации в комнату с несуществующим SAN'):
            r = Rooms().post_notify_to_select_rooms("incorrect_room")

        with allure.step('Проверки на корректный ответ от сервера (комната не найдена)'):
            assert_that(r.status_code, equal_to(400))
            assert_that(r.json()["error_code"], equal_to(9))
            assert_that(r.json()["description"], equal_to("Room is not found"))
Ejemplo n.º 12
0
    def test_post_notify_to_room_in_another_hotel_by_employee(self, use_session_employee):
        """ Тест отправки нотификации в комнату чужого отеля сотрудником """
        with allure.step('Запрос на отправку нотификации в комнату чужого отеля'):
            r = Rooms().post_notify_to_select_rooms(DV.SECOND_SAN_MAIN_ROOM)

        with allure.step('Проверки на корректный ответ от сервера (комната не найдена)'):
            assert_that(r.status_code, equal_to(400))
            assert_that(r.json()["error_code"], equal_to(9))
            assert_that(r.json()["description"], equal_to("Room is not found"))
Ejemplo n.º 13
0
    def test_post_notify_with_incorrect_display_type_by_employee(self, use_session_employee):
        """ Тест отправки нотификации с некорректным параметром display_type сотрудником """
        with allure.step('Запрос на отправку нотификации в комнату с некорректным значением параметра display_type'):
            r = Rooms(display_type="incorrect_display_type").post_notify_to_select_rooms(DV.SAN_MAIN_ROOM)

        with allure.step('Проверки на корректный ответ от сервера (неверные параметры запроса)'):
            assert_that(r.status_code, equal_to(400))
            assert_that(r.json()["error_code"], equal_to(1003))
            assert_that(r.json()["description"], equal_to("Invalid form's parameters"))
Ejemplo n.º 14
0
    def test_get_rooms_by_id_no_role(self, delete_session):
        """ Тест попытки получить информацию о номере без авторизационного токена """
        with allure.step('Запрос на получение информации о номере'):
            r = Rooms().get_room_by_san(san=DV.SAN_MAIN_ROOM)

        with allure.step('Проверки, что без авторизационного токена нельзя выполнить данный метод'):
            assert_that(r.status_code, equal_to(401))
            assert_that(r.json()["error_code"], equal_to(1))
            assert_that(r.json()["description"], equal_to("No 'session_id' header was provided"))
Ejemplo n.º 15
0
    def test_post_notify_by_admin_rt(self, use_session_admin_rt):
        """ Тест попытки отправки нотификации во все номера гостиницы """
        with allure.step('Запрос на отправку нотификаций'):
            r = Rooms().post_notify_to_all_rooms()

        with allure.step('Проверки, что администратор Ростелеком не может отправить нотификации'):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(403))
            assert_that(r.json()["description"], equal_to("Forbidden"))
Ejemplo n.º 16
0
    def test_put_rooms_by_id_no_role(self, check_in_room_number, delete_session):
        """ Тест попытки изменения данных номера без авторизационного токена """
        with allure.step('Запрос на изменение данных номера'):
            r = Rooms(name="Guest Changed", checkout_date=4132252800, forbid_extra=True, language="ru",
                      pay_limit=15000, pin_required=False).put_room_by_san(san=DV.SAN_MAIN_ROOM)

        with allure.step('Проверки, что без авторизационного токена нельзя выполнить данный метод'):
            assert_that(r.status_code, equal_to(401))
            assert_that(r.json()["error_code"], equal_to(1))
            assert_that(r.json()["description"], equal_to("No 'session_id' header was provided"))
Ejemplo n.º 17
0
    def test_post_notify_to_empty_room_by_employee(self, use_session_employee):
        """ Тест отправки нотификации без указания номера комнаты сотрудником """
        with allure.step('Запрос на отправку нотификации без указания номера'):
            r = Rooms().post_notify_to_select_rooms()

        with allure.step('Проверки на корректный ответ от сервера (неверные параметры запроса)'):
            assert_that(r.status_code, equal_to(400))
            assert_that(r.json()["error_code"], equal_to(1003))
            assert_that(r.json()["description"], equal_to("Invalid form's parameters"))
            assert_that(r.json()["details"]["receivers"], equal_to("min 1"))
    def test_put_rooms_by_incorrect_id_by_employee(self, use_session_employee):
        """ Тест попытки изменить данные в несуществующем номере сотрудником """
        with allure.step(
                'Запрос на изменение данных комнаты с несуществующим SAN'):
            r = Rooms(name="Guest Changed").put_room_by_san(san="incorrect")

        with allure.step('Проверки на корректность ответа от сервера'):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(12))
            assert_that(r.json()["description"],
                        equal_to("Action is forbidden for given room's san"))
Ejemplo n.º 19
0
    def test_get_rooms_by_admin_rt(self, use_session_admin_rt,
                                   free_room_number):
        """ Тест попытки получения списка номеров """
        with allure.step('Запрос на получение списка номеров'):
            r = Rooms().get_rooms()

        with allure.step(
                'Проверки, что администратор Ростелеком не может получить список номеров в любой гостинице'
        ):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(403))
            assert_that(r.json()["description"], equal_to("Forbidden"))
Ejemplo n.º 20
0
    def test_post_notify_no_role(self, delete_session):
        """ Тест попытки отправить нотификацию без авторизационного токена """
        with allure.step('Запрос на отправку нотификации'):
            r = Rooms().post_notify_to_select_rooms(DV.SAN_MAIN_ROOM)

        with allure.step(
                'Проверки, что без авторизационного токена нельзя выполнить данный метод'
        ):
            assert_that(r.status_code, equal_to(401))
            assert_that(r.json()["error_code"], equal_to(1))
            assert_that(r.json()["description"],
                        equal_to("No 'session_id' header was provided"))
Ejemplo n.º 21
0
    def test_check_in_to_another_hotel_by_employee(self, use_session_employee):
        """ Тест попытки заселения номера из другой гостиницы сотрудником """
        with allure.step('Запрос на вселение гостя в комнату чужой гостиницы'):
            r = Rooms(name="Guest").post_check_in(DV.SECOND_SAN_MAIN_ROOM)

        with allure.step(
                'Проверки, что сотрудник не может заселить комнату из чужой гостиницы'
        ):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(12))
            assert_that(r.json()["description"],
                        equal_to("Action is forbidden for given room's san"))
Ejemplo n.º 22
0
    def test_get_purchases_by_id_no_role(self, delete_session):
        """ Тест попытки получения списка покупок без авторизационного токена """
        with allure.step('Запрос на получение списка покупок'):
            r = Rooms().get_purchases_by_san(san=DV.SAN_ROOM_WITH_PURCHASES)

        with allure.step(
                'Проверки, что без авторизационного токена нельзя выполнить данный метод'
        ):
            assert_that(r.status_code, equal_to(401))
            assert_that(r.json()["error_code"], equal_to(1))
            assert_that(r.json()["description"],
                        equal_to("No 'session_id' header was provided"))
    def test_update_pin_in_incorrect_room_by_admin_hotel(
            self, use_session_admin_hotel):
        """ Тест попытки изменения ПИН-кода в несущестующем номере сотрудником """
        with allure.step(
                'Запрос на изменение ПИН-кода в номере с несуществующим SAN'):
            r = Rooms().post_update_pin_by_san("incorrect")

        with allure.step('Проверки на корректный ответ от сервера'):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(12))
            assert_that(r.json()["description"],
                        equal_to("Action is forbidden for given room's san"))
Ejemplo n.º 24
0
    def test_get_purchases_by_incorrect_room_id_by_employee(
            self, use_session_employee):
        """ Тест попытки получения списка покупок в несуществующем номере сотрудником """
        with allure.step(
                'Запрос на получение списка покупок в несуществующем номере'):
            r = Rooms().get_purchases(san="incorrect")

        with allure.step('Проверки на корректный ответ от сервера'):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(12))
            assert_that(r.json()["description"],
                        equal_to("Action is forbidden for given room's san"))
Ejemplo n.º 25
0
    def test_update_pin_by_employee(self, check_in_room_number,
                                    delete_session):
        """ Тест попытки изменения ПИН-кода без авторизационного токена """
        with allure.step('Запрос на изменение ПИН-кода'):
            r = Rooms().post_update_pin_by_san(DV.SAN_MAIN_ROOM)

        with allure.step(
                'Проверки, что без авторизационного токена нельзя выполнить данный метод'
        ):
            assert_that(r.status_code, equal_to(401))
            assert_that(r.json()["error_code"], equal_to(1))
            assert_that(r.json()["description"],
                        equal_to("No 'session_id' header was provided"))
Ejemplo n.º 26
0
    def test_get_purchases_no_role(self, delete_session):
        """ Тест попытки получить список покупок всех гостей номера без авторизационного токена """
        with allure.step(
                'Запрос на получение списка покупок всех гостей номера'):
            r = Rooms().get_purchases()

        with allure.step(
                'Проверки, что без авторизационного токена нельзя выполнить данный метод'
        ):
            assert_that(r.status_code, equal_to(401))
            assert_that(r.json()["error_code"], equal_to(1))
            assert_that(r.json()["description"],
                        equal_to("No 'session_id' header was provided"))
    def test_change_room_number_no_role(self, free_room_number,
                                        delete_session):
        """ Тест изменения номера комнаты без авторизационного токена """
        with allure.step('Запрос на изменение номера комнаты'):
            r = Rooms(number="123").post_change_number(san=DV.SAN_MAIN_ROOM)

        with allure.step(
                'Проверки, что без авторизационного токена нельзя выполнить данный метод'
        ):
            assert_that(r.status_code, equal_to(401))
            assert_that(r.json()["error_code"], equal_to(1))
            assert_that(r.json()["description"],
                        equal_to("No 'session_id' header was provided"))
Ejemplo n.º 28
0
    def test_check_in_to_incorrect_room_by_employee(self,
                                                    use_session_employee):
        """ Тест попытки заселения в несуществующий номер сотрудником """
        with allure.step(
                'Запрос на вселение гостя в комнату с несуществующим SAN'):
            r = Rooms(name="Guest").post_check_in("incorrect")

        with allure.step(
                'Проверки на корректность ответа при попытке заселить несуществующую комнату'
        ):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(12))
            assert_that(r.json()["description"],
                        equal_to("Action is forbidden for given room's san"))
Ejemplo n.º 29
0
    def test_get_purchases_by_room_id_in_another_hotel_by_employee(
            self, use_session_employee):
        """ Тест попытки получения списка покупок в номере чужого отеля сотрудником """
        with allure.step(
                'Запрос на получение списка покупок в номере чужой гостиницы'):
            r = Rooms().get_purchases(san=DV.SECOND_SAN_MAIN_ROOM)

        with allure.step(
                'Проверки, что сотруднику запрещен доступ к просмотру списка покупок в чужой гостинице'
        ):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(12))
            assert_that(r.json()["description"],
                        equal_to("Action is forbidden for given room's san"))
    def test_update_pin_in_another_hotel_by_admin_hotel(
            self, use_session_admin_hotel):
        """ Тест попытки изменения ПИН-кода в номере из другой гостиницы сотрудником """
        with allure.step(
                'Запрос на изменение ПИН-кода в номере чужой гостиницы'):
            r = Rooms().post_update_pin_by_san(DV.SECOND_SAN_MAIN_ROOM)

        with allure.step(
                'Проверки, что сотрудник не может изменить ПИН-код в чужой гостинице'
        ):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(12))
            assert_that(r.json()["description"],
                        equal_to("Action is forbidden for given room's san"))