コード例 #1
0
ファイル: test_skills.py プロジェクト: Alejandroke/uat
def test_delete_feature(player_wizard, browser):  # noqa
    """As a player, I can delete a feature."""
    print('As a player, I can delete a feature.')

    feature = features.FeatureAddModal(browser)
    features_table = features.FeaturesTable(browser)
    tabs = Tabs(browser)
    tabs.skills.click()

    features_table.add.click()
    ut.select_from_autocomplete(feature,
                                'name',
                                browser,
                                has_search_term=False)

    feature.name.send_keys(Keys.TAB)

    feature.add.click()

    WebDriverWait(browser, DEFAULT_WAIT_TIME).until(modal_finished_closing())

    WebDriverWait(browser,
                  DEFAULT_WAIT_TIME).until(table_has_data(features_table))

    rows = ut.get_table_rows(features_table, 'table', values=False)

    rows[0][2].click()

    WebDriverWait(browser,
                  DEFAULT_WAIT_TIME).until(table_is_empty(features_table))

    rows = ut.get_table_rows(features_table, 'table', values=False)

    assert rows[0][0].text.strip() == 'Add a new Feature'
コード例 #2
0
ファイル: test_skills.py プロジェクト: Alejandroke/uat
def test_tracked_increase_decrease(player_wizard, browser):  # noqa
    """As a player, I can increase or decrease tracked abilities with the
       stepper widget and the bar reflects these changes."""

    print(('As a player, I can increase or decrease tracked abilities with '
           'the stepper widget and the bar reflects these changes.'))

    feature = features.FeatureAddModal(browser)
    features_table = features.FeaturesTable(browser)
    tracked_table = tracked.TrackedTable(browser)
    tabs = Tabs(browser)
    tabs.skills.click()

    features_table.add.click()
    feature.name = 'Add Name'
    feature.class_ = 'Add Class'
    feature.level = 1
    feature.description = 'Add Description'
    feature.tracked.click()
    feature.max_ = 4
    feature.short_rest.click()

    feature.add.click()

    tracked_table.tracked1_used_up.click()

    assert tracked_table.tracked1_used.text.strip() == '1'

    tracked_table.tracked1_used_down.click()

    assert tracked_table.tracked1_used.text.strip() == '0'
コード例 #3
0
ファイル: test_skills.py プロジェクト: Alejandroke/uat
def test_tracked_reset(player_wizard, browser):  # noqa
    """As a player, I can reset a tracked ability by clicking on the reset
       icon."""

    print(('As a player, I can reset a tracked ability by clicking on the '
           'reset icon.'))

    feature = features.FeatureAddModal(browser)
    features_table = features.FeaturesTable(browser)
    tracked_table = tracked.TrackedTable(browser)
    tabs = Tabs(browser)
    tabs.skills.click()

    features_table.add.click()
    feature.name = 'Add Name'
    feature.class_ = 'Add Class'
    feature.level = 1
    feature.description = 'Add Description'
    feature.tracked.click()
    feature.max_ = 4
    feature.short_rest.click()

    feature.add.click()

    tracked_table.tracked1_used_up.click()

    assert tracked_table.tracked1_used.text.strip() == '1'

    tracked_table.tracked1_refresh.click()

    assert tracked_table.tracked1_used.text.strip() == '0'
コード例 #4
0
ファイル: test_skills.py プロジェクト: Alejandroke/uat
def test_add_autocomplete_feature(player_wizard, browser):  # noqa
    """As a player, if I start typing in the name field and class field,
       I can select suggested items in the dropdown."""
    print(('As a player, if I start typing in the name field and class field, '
           'I can select suggested items in the dropdown.'))

    feature = features.FeatureAddModal(browser)
    features_table = features.FeaturesTable(browser)
    tabs = Tabs(browser)
    tabs.skills.click()

    features_table.add.click()

    ut.select_from_autocomplete(feature,
                                'name',
                                browser,
                                has_search_term=False)

    ut.select_from_autocomplete(feature,
                                'class_',
                                browser,
                                has_search_term=False)

    assert feature.name.get_attribute(
        'value').strip() == 'Rage (Barbarian, Lvl. 1)'
    assert feature.class_.get_attribute('value').strip() == 'Barbarian'
コード例 #5
0
ファイル: test_skills.py プロジェクト: Alejandroke/uat
def test_feature_ogl_pre_pop(player_wizard, browser):  # noqa
    """As a player, if I select from feature name field, OGL data
       auto-completes and the remaining fields pre-populate."""
    print(('As a player, if I select from feature name field, OGL data '
           'auto-completes and the remaining fields pre-populate.'))

    feature = features.FeatureAddModal(browser)
    features_table = features.FeaturesTable(browser)
    tabs = Tabs(browser)
    tabs.skills.click()

    features_table.add.click()
    ut.select_from_autocomplete(feature,
                                'name',
                                browser,
                                has_search_term=False)

    feature.name.send_keys(Keys.TAB)

    feature.add.click()

    WebDriverWait(browser,
                  DEFAULT_WAIT_TIME).until(table_has_data(features_table))

    row = ut.get_table_row(features_table, 'table', 1)

    assert row.class_.strip() == 'Barbarian'
    assert 'Rage' in row.feature.strip()
コード例 #6
0
ファイル: test_skills.py プロジェクト: OmnesPotens/uat
def test_add_feature(player_wizard, browser):  # noqa
    """As a player, I can add a feature."""
    print('As a player, I can add a feature.')

    feature = features.FeatureAddModal(browser)
    features_table = features.FeaturesTable(browser)
    tabs = Tabs(browser)
    tabs.skills.click()

    features_table.add.click()
    feature.name = 'Add Name'
    feature.class_ = 'Add Class'
    feature.level = 1
    feature.description = 'Add Description'
    feature.tracked.click()
    feature.max_.clear()
    feature.max_ = 4
    feature.short_rest.click()

    assert feature.name.get_attribute('value') == 'Add Name'
    assert feature.class_.get_attribute('value') == 'Add Class'
    assert feature.level.get_attribute('value') == '1'
    assert feature.description.get_attribute('value') == 'Add Description'
    assert feature.max_.get_attribute('value') == '4'
    assert 'active' in feature.short_rest.get_attribute('class')

    feature.add.click()

    row = ut.get_table_row(features_table, 'table', 1)

    assert row.class_ == 'Add Class'
    assert row.feature == 'Add Name'
コード例 #7
0
def test_edit_feature(player_wizard, browser):  # noqa
    """As a player, I can edit a feature."""
    print('As a player, I can edit a feature.')

    feature = features.FeatureAddModal(browser)
    feature_edit = features.FeatureEditModal(browser)
    features_table = features.FeaturesTable(browser)
    feature_tabs = features.FeatureModalTabs(browser)
    tabs = Tabs(browser)
    tabs.skills.click()

    WebDriverWait(browser, DEFAULT_WAIT_TIME).until(
        EC.element_to_be_clickable((By.ID, features_table.add_id)))

    features_table.add.click()
    ut.select_from_autocomplete(feature,
                                'name',
                                browser,
                                has_search_term=False)
    feature.add.click()

    WebDriverWait(browser, DEFAULT_WAIT_TIME).until(modal_finished_closing())

    rows = ut.get_table_rows(features_table, 'table', values=False)
    rows[0][0].click()

    WebDriverWait(browser, DEFAULT_WAIT_TIME).until(
        EC.element_to_be_clickable((By.ID, feature_tabs.edit_id)))

    feature_tabs.edit.click()

    feature_edit.name = 'Edited Name'
    feature_edit.class_ = 'Edited Class'
    feature_edit.level = 1
    feature_edit.description = 'Edited Description'
    feature_edit.tracked.click()
    feature_edit.max_ = 4
    feature_edit.short_rest.click()

    assert feature_edit.name.get_attribute('value').strip() == 'Edited Name'
    assert feature_edit.class_.get_attribute('value').strip() == 'Edited Class'
    assert feature_edit.level.get_attribute('value').strip() == '1'
    assert feature_edit.description.get_attribute(
        'value').strip() == 'Edited Description'
    assert feature_edit.max_.get_attribute('value').strip() == '4'
    assert 'active' in feature_edit.short_rest.get_attribute('class').strip()

    feature_edit.done.click()

    WebDriverWait(browser, DEFAULT_WAIT_TIME).until(modal_finished_closing())

    row = ut.get_table_row(features_table, 'table', 1)

    assert row.feature.strip() == 'Edited Name'
    assert row.class_.strip() == 'Edited Class'
コード例 #8
0
ファイル: test_skills.py プロジェクト: Alejandroke/uat
def test_add_feature_open_model_by_row(player_wizard, browser):  # noqa
    """As a player, I can click the first row in feature table to open the
       feature add modal."""
    print(('As a player, I can click the first row in feature table to open '
           'the feature add modal.'))

    features_table = features.FeaturesTable(browser)
    tabs = Tabs(browser)
    tabs.skills.click()

    rows = ut.get_table_rows(features_table, 'table', values=False)

    assert rows[0][0].is_enabled()
    assert rows[0][0].is_displayed()
コード例 #9
0
ファイル: test_skills.py プロジェクト: OmnesPotens/uat
def test_edit_feature(player_wizard, browser):  # noqa
    """As a player, I can edit a feature."""
    print('As a player, I can edit a feature.')

    feature = features.FeatureAddModal(browser)
    feature_edit = features.FeatureEditModal(browser)
    features_table = features.FeaturesTable(browser)
    feature_tabs = features.FeatureModalTabs(browser)
    tabs = Tabs(browser)
    tabs.skills.click()

    features_table.add.click()
    ut.select_from_autocomplete(feature, 'name', '', browser)
    feature.add.click()

    rows = ut.get_table_rows(features_table, 'table', values=False)
    time.sleep(.3)
    rows[0][0].click()
    time.sleep(.3)
    feature_tabs.edit.click()

    feature_edit.name.clear()
    feature_edit.class_.clear()
    feature_edit.level.clear()
    feature_edit.description.clear()

    feature_edit.name = 'Edited Name'
    feature_edit.class_ = 'Edited Class'
    feature_edit.level = 1
    feature_edit.description = 'Edited Description'
    feature_edit.tracked.click()
    feature_edit.max_.clear()
    feature_edit.max_ = 4
    feature_edit.short_rest.click()

    assert feature_edit.name.get_attribute('value') == 'Edited Name'
    assert feature_edit.class_.get_attribute('value') == 'Edited Class'
    assert feature_edit.level.get_attribute('value') == '1'
    assert feature_edit.description.get_attribute(
        'value') == 'Edited Description'
    assert feature_edit.max_.get_attribute('value') == '4'
    assert 'active' in feature_edit.short_rest.get_attribute('class')
    feature_edit.done.click()

    rows = ut.get_table_rows(features_table, 'table', values=False)
    time.sleep(.3)

    row = ut.get_table_row(features_table, 'table', 1)
    assert row.feature == 'Edited Name'
    assert row.class_ == 'Edited Class'
コード例 #10
0
ファイル: test_skills.py プロジェクト: OmnesPotens/uat
def test_delete_feature(player_wizard, browser):  # noqa
    """As a player, I can delete a feature."""
    print('As a player, I can delete a feature.')

    feature = features.FeatureAddModal(browser)
    features_table = features.FeaturesTable(browser)
    tabs = Tabs(browser)
    tabs.skills.click()

    features_table.add.click()
    ut.select_from_autocomplete(feature, 'name', '', browser)
    feature.add.click()

    rows = ut.get_table_rows(features_table, 'table', values=False)
    time.sleep(.3)
    rows[0][2].click()
    rows = ut.get_table_rows(features_table, 'table', values=False)

    assert rows[0][0].text == 'Add a new Feature'
コード例 #11
0
ファイル: test_skills.py プロジェクト: OmnesPotens/uat
def test_feature_ogl_pre_pop(player_wizard, browser):  # noqa
    """As a player, if I select from feature name field, OGL data auto-completes and the remaining fields pre-populate."""
    print(
        'As a player, if I select from feature name field, OGL data auto-completes and the remaining fields pre-populate.'
    )

    feature = features.FeatureAddModal(browser)
    features_table = features.FeaturesTable(browser)
    tabs = Tabs(browser)
    tabs.skills.click()

    features_table.add.click()
    ut.select_from_autocomplete(feature, 'name', '', browser)
    feature.add.click()

    row = ut.get_table_row(features_table, 'table', 1)

    assert row.class_ == 'Barbarian'
    assert row.feature == 'Rage'
コード例 #12
0
ファイル: test_skills.py プロジェクト: Alejandroke/uat
def test_add_feature(player_wizard, browser):  # noqa
    """As a player, I can add a feature."""
    print('As a player, I can add a feature.')

    feature = features.FeatureAddModal(browser)
    features_table = features.FeaturesTable(browser)
    tracked_table = tracked.TrackedTable(browser)
    tabs = Tabs(browser)
    tabs.skills.click()

    features_table.add.click()
    feature.name = 'Add Name'
    feature.class_ = 'Add Class'
    feature.level = 1
    feature.description = 'Add Description'
    feature.tracked.click()
    feature.max_ = 4
    feature.short_rest.click()

    assert feature.name.get_attribute('value').strip() == 'Add Name'
    assert feature.class_.get_attribute('value').strip() == 'Add Class'
    assert feature.level.get_attribute('value').strip() == '1'
    assert feature.description.get_attribute(
        'value').strip() == 'Add Description'
    assert feature.max_.get_attribute('value').strip() == '4'
    assert 'active' in feature.short_rest.get_attribute('class').strip()

    feature.add.click()

    WebDriverWait(browser,
                  DEFAULT_WAIT_TIME).until(table_has_data(features_table))

    row = ut.get_table_row(features_table, 'table', 1)

    assert tracked_table.tracked1_name.text.strip() == 'Add Name'
    assert tracked_table.tracked1_max.text.strip() == '4'
    assert row.class_.strip() == 'Add Class'
    assert row.feature.strip() == 'Add Name'
コード例 #13
0
ファイル: test_skills.py プロジェクト: Alejandroke/uat
def test_data_persists(player_wizard, browser):  # noqa
    """As a player, all changes I make to features, feats, traits,
       proficiencies, tracking, and skills persist after I refresh the
       browser."""

    print(('As a player, all changes I make to features, feats, traits, '
           'proficiencies, tracking, and skills persist after I refresh the '
           'browser.'))

    feature = features.FeatureAddModal(browser)
    features_table = features.FeaturesTable(browser)
    feat = feats.FeatAddModal(browser)
    feats_table = feats.FeatsTable(browser)
    trait = traits.TraitAddModal(browser)
    traits_table = traits.TraitsTable(browser)
    tracked_table = tracked.TrackedTable(browser)
    proficiency_add = proficiency.ProficiencyAddModal(browser)
    proficiency_table = proficiency.ProficiencyTable(browser)
    skills_table = skills.SkillsTable(browser)
    skills_edit = skills.SkillsEditModal(browser)
    tabs = Tabs(browser)
    tabs.skills.click()

    features_table.add.click()
    feature.name = 'Add Name'
    feature.class_ = 'Add Class'
    feature.level = 1
    feature.description = 'Add Description'
    feature.tracked.click()
    feature.max_ = 4
    feature.short_rest.click()

    time.sleep(1)

    feature.add.click()

    WebDriverWait(browser, DEFAULT_WAIT_TIME).until(modal_finished_closing())

    feats_table.add.click()
    ut.select_from_autocomplete(feat, 'name', browser, has_search_term=False)

    feat.name.send_keys(Keys.TAB)

    feat.add.click()

    WebDriverWait(browser, DEFAULT_WAIT_TIME).until(modal_finished_closing())

    traits_table.add.click()
    ut.select_from_autocomplete(trait, 'name', browser, has_search_term=False)

    trait.name.send_keys(Keys.TAB)

    trait.add.click()

    WebDriverWait(browser, DEFAULT_WAIT_TIME).until(modal_finished_closing())

    proficiency_table.add.click()
    ut.select_from_autocomplete(proficiency_add,
                                'name',
                                browser,
                                has_search_term=False)

    proficiency_add.name.send_keys(Keys.TAB)

    proficiency_add.add.click()

    WebDriverWait(browser, DEFAULT_WAIT_TIME).until(modal_finished_closing())

    acrobatics = ut.get_table_row(skills_table, 'table', values=False)
    acrobatics[0].click()

    WebDriverWait(browser, DEFAULT_WAIT_TIME).until(
        EC.element_to_be_clickable((By.XPATH, skills_edit.half_xpath)))

    skills_edit.half.click()
    skills_edit.done.click()

    WebDriverWait(browser, DEFAULT_WAIT_TIME).until(modal_finished_closing())

    browser.refresh()

    WebDriverWait(browser,
                  DEFAULT_WAIT_TIME).until(table_has_data(features_table))

    row = ut.get_table_row(features_table, 'table', 1)

    assert tracked_table.tracked1_name.text.strip() == 'Add Name'
    assert tracked_table.tracked1_max.text.strip() == '4'
    assert row.class_.strip() == 'Add Class'
    assert row.feature.strip() == 'Add Name'

    row = ut.get_table_row(feats_table, 'table', 1)

    assert row.feat.strip() == 'Grappler'

    row = ut.get_table_row(traits_table, 'table', 1)

    assert row.race.strip() == 'Dragonborn'
    assert row.trait.strip() == 'Ability Score Increase'

    row = ut.get_table_row(proficiency_table, 'table', 1)

    assert row.type.strip() == 'Languages'
    assert row.proficiency.strip() == 'Abyssal'