Пример #1
0
    def test_new_phrases(self):
        driver = self.driver
        source_text_1 = generate_random_string()
        translated_text_1 = generate_random_string()
        source_text_2 = generate_random_string()
        translated_text_2 = generate_random_string()

        self.add_phrase(
            source_text=source_text_1,
            translated_text=translated_text_1,
        )
        self.add_phrase(
            source_text=source_text_2,
            translated_text=translated_text_2,
        )

        # most recent (second) phrase
        phrase_row_selector = '//tr[@class="b-vocabulary-table__row"][1]/'
        self.assertEqual(
            source_text_2,
            driver.find_element_by_xpath(phrase_row_selector + 'td[1]').text,
        )
        self.assertEqual(
            translated_text_2,
            driver.find_element_by_xpath(phrase_row_selector + 'td[2]').text,
        )
        self.assertEqual(
            'width: 0%;',
            driver.find_element_by_css_selector(
                'div.progress-level').get_attribute('style'),
        )

        # first added phrase
        phrase_row_selector = '//tr[@class="b-vocabulary-table__row"][2]/'
        self.assertEqual(
            source_text_1,
            driver.find_element_by_xpath(phrase_row_selector + 'td[1]').text,
        )
        self.assertEqual(
            translated_text_1,
            driver.find_element_by_xpath(phrase_row_selector + 'td[2]').text,
        )
        self.assertEqual(
            'width: 0%;',
            driver.find_element_by_css_selector(
                'div.progress-level').get_attribute('style'),
        )
Пример #2
0
    def test_delete_phrase(self):
        driver = self.driver

        source_text_1 = generate_random_string()
        translated_text_1 = generate_random_string()
        source_text_2 = generate_random_string()
        translated_text_2 = generate_random_string()

        self.add_phrase(
            source_text=source_text_1,
            translated_text=translated_text_1,
        )
        self.add_phrase(
            source_text=source_text_2,
            translated_text=translated_text_2,
        )

        self.assertEqual(len(driver.find_elements(By.CSS_SELECTOR, 'tr')), 3)

        driver.find_element_by_xpath('(//input[@value="Edit"])[2]').click()
        driver.find_element_by_xpath('//input[@value="Delete"]').click()
        self.assertEqual(len(driver.find_elements(By.CSS_SELECTOR, 'tr')), 2)

        phrase_row_selector = '//tr[@class="b-vocabulary-table__row"][1]/'
        self.assertEqual(
            source_text_2,
            driver.find_element_by_xpath(phrase_row_selector + 'td[1]').text,
        )
        self.assertEqual(
            translated_text_2,
            driver.find_element_by_xpath(phrase_row_selector + 'td[2]').text,
        )
        self.assertEqual(
            'width: 0%;',
            driver.find_element_by_css_selector(
                'div.progress-level').get_attribute('style'),
        )

        driver.find_element_by_xpath('//input[@value="Edit"]').click()
        driver.find_element_by_xpath('//input[@value="Delete"]').click()
        self.assertEqual(len(driver.find_elements(By.CSS_SELECTOR, 'tr')), 1)
Пример #3
0
    def test_edit_phrase(self):
        driver = self.driver
        source_text_1 = generate_random_string()
        translated_text_1 = generate_random_string()
        source_text_2 = generate_random_string()
        translated_text_2 = generate_random_string()

        edited_source_text_1 = generate_random_string()
        edited_translated_text_1 = generate_random_string()
        edited_source_text_2 = generate_random_string()
        edited_translated_text_2 = generate_random_string()

        self.add_phrase(
            source_text=source_text_1,
            translated_text=translated_text_1,
        )
        self.add_phrase(
            source_text=source_text_2,
            translated_text=translated_text_2,
        )

        active_phrase_selector = (
            '(//tr[@class="b-vocabulary-table__row '
            'b-vocabulary-table__row--active"]/td/input)'
        )
        driver.find_element_by_xpath('(//input[@value="Edit"])[2]').click()
        driver.find_element_by_xpath(active_phrase_selector + '[1]').clear()
        driver.find_element_by_xpath(active_phrase_selector + '[1]').send_keys(
            edited_source_text_2)
        driver.find_element_by_xpath(active_phrase_selector + '[2]').clear()
        driver.find_element_by_xpath(active_phrase_selector + '[2]').send_keys(
            edited_translated_text_2)
        driver.find_element_by_css_selector('input[value="Save"]').click()

        row_2_selector = '//tr[@class="b-vocabulary-table__row"][2]/'
        self.assertEqual(
            edited_source_text_2,
            driver.find_element_by_xpath(
                row_2_selector+'td[1]').text
        )
        self.assertEqual(
            edited_translated_text_2,
            driver.find_element_by_xpath(
                row_2_selector+'td[2]').text
        )

        driver.find_element_by_xpath('(//input[@value="Edit"])[1]').click()
        driver.find_element_by_xpath(active_phrase_selector + '[1]').clear()
        driver.find_element_by_xpath(active_phrase_selector + '[1]').send_keys(
            edited_source_text_1)
        driver.find_element_by_xpath(active_phrase_selector + '[2]').clear()
        driver.find_element_by_xpath(active_phrase_selector + '[2]').send_keys(
            edited_translated_text_1)
        driver.find_element_by_css_selector('input[value="Save"]').click()

        row_1_selector = '//tr[@class="b-vocabulary-table__row"][1]/'
        self.assertEqual(
            edited_source_text_1,
            driver.find_element_by_xpath(
                row_1_selector+'td[1]').text
        )
        self.assertEqual(
            edited_translated_text_1,
            driver.find_element_by_xpath(
                row_1_selector+'td[2]').text
        )