# -*- coding: utf-8 -*-
from classes.mapsapi_base_test import MapsAPIBaseTest
from config import config
from lode_runner.dataprovider import dataprovider
from classes.util import scripts


class Ruler(MapsAPIBaseTest):
    """
    Тесты на линейку
    """
    def ruler_control(self):
        """
        Проверка контрола линеки
        1.Кликаем в контрол линейки
        2.Кликаем в центр карты
        3.Проверяем наличие вершин линейки
        4.Кликаем в контрол линейки
        5.Проверяем отсутсвие вершин линейки
        """
        pass

    def ruler_two_vertexes(self):
        """
        Проверка появления ребер линейки
        1.Кликаем в контрол
        2.Кликаем в центр карты
        3.Кликаем левее на 150px
        4.Проверяем наличие 2х вершин
        5.Проверяем расстояние
        5.Проверяем наличие ребра
        """
        pass

    def ruler_vertex_in_middle(self):
        """
        Проверка добаления не крайних вершин
        1.Кликаем в контрол линейки
        2.Кликаем в центр карты
        3.Кликаем на 300px левее
        4.Кликаем на 150px правее
        5.Проверяем наличие 3х вершин
        6.Проверяем что узел добавился в середину
        """
        pass

    def ruler_vertex_in_end(self):
        """
        Проверка добаления точки в конце
        1.Кликаем в контрол линейки
        2.Кликаем в центр карты
        3.Кликаем на 150px левее
        4.Кликаем на 150px левее
        5.Проверяем наличие 3х вершин
        6.Проверяем что узел добавился в конец
        """
        pass

    def ruler_hover_vertex(self):
        """
        Проверка ховера не полседнего узла
        1.Кликаем в контрол линейки
        2.Кликаем в центр карты
        3.Кликаем на 150px левее
        4.Кликаем на 150px левее
        5.Перемещаем курсор на 150px правее
        6.Проверяем появление маркера
        7.Проверяем расстояние
        8.Перемещаем на 150px правее
        9.Провяем наличие маркера
        10.Проверяем расстояние на 0
        """
        pass

    def ruler_hover_line(self):
        """
        Проверка ховера линии
        1.Кликаем в контрол линейки
        2.Кликаем в центр карты
        3.Кликаем на 300px левее
        4.Перемещаем на 150px правее
        5.Проверяем наличе маркера
        """
        pass

    def ruler_delete_last(self):
        """
        Проверка удаления единственного узла
        1.Кликаем в контрол линейки
        2.Кликаем в центр карты
        3.Ховерим узел
        4.Кликаем в крест в маркере
        5.Проверяем отсутствие узлов
        """
        pass

    def ruler_delete_first_in_two(self):
        """
        Проверка удаления первого в случае двух узлов
        1.Кликаем в контрол линейки
        2.Кликаем в центр карты
        3.Кликам на 150px левее
        4.Удаляем первый узел
        5.Проверяем что остался только один узел
        6.Проверяем что узел остался на месте 2го
        7.Проверяем наличие маркера и значение в '0м'
        """
        pass

    def ruler_delete_last_in_two(self):
        """
        Проверка удаления первого в случае двух узлов
        1.Кликаем в контрол линейки
        2.Кликаем в центр карты
        3.Кликам на 150px левее
        4.Удаляем второй узел
        5.Проверяем что остался только один узел
        6.Проверяем что узел остался на месте 1го
        7.Проверяем наличие маркера и значение в '0м'
        """
        pass

    def ruler_delete_last_in_many(self):
        """
        Проверка удаления последнего (3 и более узла)
        1.Кликам в контрол линейки
        2.Кликаем в центр карты
        3.Кликам на 150px левее
        4.Кликам на 150px левее
        5.Удаляем последний
        6.Проверяем что маркер появился на втором
        """
        pass

    def ruler_delete_first_in_many(self):
        """
        Проверка удаления первого (3 и более узла)
        1.Кликам в контрол линейки
        2.Кликаем в центр карты
        3.Кликам на 150px левее
        4.Кликам на 150px левее
        5.Удаляем первый
        6.Ховерим второй
        7.Проверяем маркер и '0м'
        """
        pass

    def ruler_delete_middle_in_many(self):
        """
        Проверка удаления среднего
        1.Кликаем в контрол линейки
        2.Кликаем в центр карты
        3.Кликаем на 150px левее и 150px выше
        4.Кликаем на 150px левее и 150px ниже
        5.Удаляем второй узел
        6.Проверяем что вершины 2
        7.Проверяем что ребро 1
        8.Проверяем расстояние в маркере последней вершины
        """
        pass

    def ruler_drag_last(self):
        """
        Проверка драга последнего
        1.Кликам в контрол линейки
        2.Кликаем в центр карты
        3.Кликам на 150px левее
        4.Кликам на 150px левее
        5.Перемещаем последний узел на 100px
        6.Проверяем что переместился нужный узел
        7.Проверяем значения расстояния в последнем маркере
        """
        pass

    def ruler_drag_first(self):
        """
        Проверка драга первого
        1.Кликам в контрол линейки
        2.Кликаем в центр карты
        3.Кликам на 150px левее
        4.Кликам на 150px левее
        5.Перемещаем первий узел на 100px
        6.Проверяем что переместился нужный узел
        7.Проверяем значения расстояния в последнем
        8.Проверяем значение расстояния в первом на 0
        """
        pass

    def ruler_drag_middle(self):
        """
        Проверка драга среднего
        1.Кликам в контрол линейки
        2.Кликаем в центр карты
        3.Кликам на 150px левее
        4.Кликам на 150px левее
        5.Перемещаем средний узел на 100px вверх
        6.Проверяем что переместился нужный узел
        7.Проверяем значения расстояния
        """
        pass
