コード例 #1
0
ファイル: test_inventory.py プロジェクト: OmnesPotens/uat
def test_preview_magic_items(player_wizard, browser):  # noqa
    """As a player, I can select a row in the magic_items table and view the item in the preview tab."""
    print(
        'As a player, I can select a row in the magic_items table and view the item in the preview tab'
    )

    magic_items_add = magic_items.MagicItemsAddModal(browser)
    magic_items_table = magic_items.MagicItemsTable(browser)
    magic_items_preview = magic_items.MagicItemsPreviewModal(browser)
    tabs = Tabs(browser)
    tabs.inventory.click()

    magic_items_table.add.click()
    ut.select_from_autocomplete(magic_items_add, 'item', '', browser)
    magic_items_add.add.click()

    time.sleep(.3)
    row = ut.get_table_row(magic_items_table, 'table', values=False)
    time.sleep(.3)
    row[0].click()
    time.sleep(.5)

    assert magic_items_preview.item.text == 'Adamantine Armor'
    assert magic_items_preview.rarity.text == 'Uncommon'
    assert magic_items_preview.type_.text == 'Type: Armor (medium or heavy but not hide)'
    assert magic_items_preview.max_charges.text == 'Max Charges: 0'
    assert magic_items_preview.weight.text == 'Weight: 0 lbs.'
    assert 'reinforced with adamantine' in magic_items_preview.description.text
コード例 #2
0
ファイル: test_equipment.py プロジェクト: OmnesPotens/uat
def test_preview_armor(player_wizard, browser):  # noqa
    """As a player, I can select a row in the armor table and view the item in the preview tab."""
    print(
        'As a player, I can select a row in the armor table and view the item in the preview tab'
    )

    armor_add = armor.ArmorAddModal(browser)
    armor_table = armor.ArmorTable(browser)
    armor_preview = armor.ArmorPreviewModal(browser)
    tabs = Tabs(browser)
    tabs.equipment.click()

    armor_table.add.click()
    ut.select_from_autocomplete(armor_add, 'name', '', browser)
    armor_add.add.click()

    time.sleep(.3)
    row = ut.get_table_row(armor_table, 'table', values=False)
    time.sleep(.3)
    row[0].click()
    time.sleep(.5)

    assert armor_preview.name.text == 'Breastplate'
    assert armor_preview.summary.text == 'AC 14'
    assert armor_preview.weight.text == 'Weight: 20 lbs.'
    assert armor_preview.stealth.text == 'Stealth: Normal'
    assert 'metal chest piece' in armor_preview.description.text
コード例 #3
0
ファイル: test_equipment.py プロジェクト: OmnesPotens/uat
def test_armor_sorting(player_wizard, browser):  # noqa
    """As a player, I can sort the armor table by clicking on the sortable columns."""
    print(
        'As a player, I can sort the armor table by clicking on the sortable columns'
    )

    armor_add = armor.ArmorAddModal(browser)
    armor_table = armor.ArmorTable(browser)
    tabs = Tabs(browser)
    tabs.equipment.click()

    armor_table.add.click()
    ut.select_from_autocomplete(armor_add, 'name', '', browser)
    armor_add.add.click()

    time.sleep(.3)
    armor_table.add.click()
    ut.select_from_autocomplete(armor_add,
                                'name',
                                '',
                                browser,
                                arrow_down_count=2)
    armor_add.add.click()

    time.sleep(.3)
    armor_table.armor_header.click()
    time.sleep(.3)
    rows = ut.get_table_row(armor_table, 'table', values=False)
    assert rows[1].text.strip() == 'Chain mail'

    time.sleep(.3)
    armor_table.type_header.click()
    time.sleep(.3)
    rows = ut.get_table_row(armor_table, 'table', values=False)
    assert rows[2].text.strip() == 'Heavy'
コード例 #4
0
ファイル: test_equipment.py プロジェクト: OmnesPotens/uat
def test_preview_weapon(player_wizard, browser):  # noqa
    """As a player, I can select a row in the weapon table and view the item in the preview tab."""
    print(
        'As a player, I can select a row in the weapon table and view the item in the preview tab'
    )

    weapon_add = weapon.WeaponAddModal(browser)
    weapon_table = weapon.WeaponTable(browser)
    weapon_preview = weapon.WeaponPreviewModal(browser)
    tabs = Tabs(browser)
    tabs.equipment.click()

    weapon_table.add.click()
    ut.select_from_autocomplete(weapon_add, 'name', '', browser)
    weapon_add.add.click()

    time.sleep(.3)
    row = ut.get_table_row(weapon_table, 'table', values=False)
    time.sleep(.3)
    row[0].click()
    time.sleep(.5)

    assert weapon_preview.name.text == 'Battleaxe'
    assert weapon_preview.magical_modifier.text == ''
    assert weapon_preview.damage.text == '1d8 or 1d10'
    assert weapon_preview.to_hit_modifier.text == '0'
    assert weapon_preview.range_.text == '5 ft.'
    assert weapon_preview.type_.text == 'Melee'
    assert weapon_preview.proficiency.text == 'Martial'
    assert weapon_preview.handedness.text == 'One or Two Handed'
    assert weapon_preview.weight.text == '4 lbs.'
    assert weapon_preview.range_.text == '5 ft.'
    assert weapon_preview.damage_type.text == 'Slashing'
    assert weapon_preview.property_.text == 'Versatile'
    assert '' in weapon_preview.description.text
コード例 #5
0
ファイル: test_inventory.py プロジェクト: OmnesPotens/uat
def test_preview_inventory(player_wizard, browser):  # noqa
    """As a player, I can select a row in the inventory table and view the item in the preview tab."""
    print(
        'As a player, I can select a row in the inventory table and view the item in the preview tab'
    )

    inventory_add = inventory.InventoryAddModal(browser)
    inventory_table = inventory.InventoryTable(browser)
    inventory_preview = inventory.InventoryPreviewModal(browser)
    tabs = Tabs(browser)
    tabs.inventory.click()

    inventory_table.add.click()
    ut.select_from_autocomplete(inventory_add, 'name', '', browser)
    inventory_add.add.click()

    time.sleep(.3)
    row = ut.get_table_row(inventory_table, 'table', values=False)
    time.sleep(.3)
    row[0].click()
    time.sleep(.5)

    assert inventory_preview.name.text == 'Abacus'
    assert inventory_preview.weight.text == '2 lbs.'
    assert inventory_preview.quantity.text == '1'
    assert inventory_preview.cost.text == '2 GP'
    assert inventory_preview.description.text == 'Add a description via the edit tab.'
コード例 #6
0
ファイル: test_inventory.py プロジェクト: OmnesPotens/uat
def test_edit_magic_items(player_wizard, browser):  # noqa
    """As a player, I can edit an item in my magic_items."""
    print('As a player, I can edit an item in my magic_items.')

    magic_items_add = magic_items.MagicItemsAddModal(browser)
    magic_items_edit = magic_items.MagicItemsEditModal(browser)
    magic_items_table = magic_items.MagicItemsTable(browser)
    magic_items_tabs = magic_items.MagicItemsModalTabs(browser)
    tabs = Tabs(browser)
    tabs.inventory.click()

    magic_items_table.add.click()
    ut.select_from_autocomplete(magic_items_add, 'item', '', browser)
    magic_items_add.add.click()

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

    magic_items_edit.item = 'Edit Name'
    magic_items_edit.type_ = 'Edit Armor'
    magic_items_edit.rarity = 'Edit Rare'
    magic_items_edit.max_charges = 3
    magic_items_edit.charges = 3
    magic_items_edit.weight = 100
    magic_items_edit.requires_attunement.click()
    magic_items_edit.attuned.click()
    magic_items_edit.description = 'Edit Description'

    assert magic_items_edit.item.get_attribute('value') == 'Edit Name'
    assert magic_items_edit.type_.get_attribute('value') == 'Edit Armor'
    assert magic_items_edit.rarity.get_attribute('value') == 'Edit Rare'
    assert magic_items_edit.max_charges.get_attribute('value') == '3'
    assert magic_items_edit.charges.get_attribute('value') == '3'
    assert magic_items_edit.weight.get_attribute('value') == '100'
    assert magic_items_edit.requires_attunement.is_selected()
    assert magic_items_edit.attuned.is_selected()
    assert magic_items_edit.description.get_attribute(
        'value') == 'Edit Description'

    magic_items_edit.done.click()
    time.sleep(.3)
    row = ut.get_table_row(magic_items_table, 'table', 1)
    assert row.magic_item == 'Edit Name'
    assert row.charges == '3'
    assert row.weight == '100 lbs.'
    assert row.description == 'Edit Description'

    row = ut.get_table_row(magic_items_table, 'table', 1, values=False)
    assert row[2].find_element_by_tag_name('input').is_selected()
コード例 #7
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'
コード例 #8
0
ファイル: test_inventory.py プロジェクト: OmnesPotens/uat
def test_magic_items_sorting(player_wizard, browser):  # noqa
    """As a player, I can sort the magic_items table by clicking on the sortable columns."""
    print(
        'As a player, I can sort the magic_items table by clicking on the sortable columns'
    )

    magic_items_add = magic_items.MagicItemsAddModal(browser)
    magic_items_table = magic_items.MagicItemsTable(browser)
    tabs = Tabs(browser)
    tabs.inventory.click()

    magic_items_table.add.click()
    ut.select_from_autocomplete(magic_items_add, 'item', '', browser)
    magic_items_add.weight = 100
    magic_items_add.add.click()

    time.sleep(.3)
    magic_items_table.add.click()
    ut.select_from_autocomplete(magic_items_add,
                                'item',
                                '',
                                browser,
                                arrow_down_count=2)
    magic_items_add.max_charges = 2
    magic_items_add.charges = 1
    magic_items_add.add.click()

    time.sleep(.3)
    magic_items_table.magic_item_header.click()
    time.sleep(.3)
    rows = ut.get_table_row(magic_items_table, 'table', values=False)
    assert rows[0].text.strip() == 'Amulet of Health'

    time.sleep(.3)
    magic_items_table.charges_header.click()
    time.sleep(.3)
    rows = ut.get_table_row(magic_items_table, 'table', values=False)
    assert rows[1].text.strip() == 'N/A'

    time.sleep(.3)
    magic_items_table.weight_header.click()
    time.sleep(.3)
    rows = ut.get_table_row(magic_items_table, 'table', values=False)
    assert rows[3].text.strip() == '0 lbs.'

    time.sleep(.3)
    magic_items_table.weight_header.click()
    time.sleep(.3)
    rows = ut.get_table_row(magic_items_table, 'table', values=False)
    assert rows[3].text.strip() == '100 lbs.'
コード例 #9
0
ファイル: test_equipment.py プロジェクト: OmnesPotens/uat
def test_edit_armor(player_wizard, browser):  # noqa
    """As a player, I can edit an armor."""
    print('As a player, I can edit an armor.')

    armor_add = armor.ArmorAddModal(browser)
    armor_edit = armor.ArmorEditModal(browser)
    armor_table = armor.ArmorTable(browser)
    armor_tabs = armor.ArmorModalTabs(browser)
    tabs = Tabs(browser)
    tabs.equipment.click()

    armor_table.add.click()
    ut.select_from_autocomplete(armor_add, 'name', '', browser)
    armor_add.add.click()

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

    armor_edit.name = 'Edit Name'
    armor_edit.type_ = 'Edit Type'
    armor_edit.magical_modifier = 2
    armor_edit.price = 300
    armor_edit.currency_denomination = 'EP'
    armor_edit.weight = 200
    armor_edit.armor_class = 16
    armor_edit.stealth = 'Advantage\t'
    armor_edit.doff.click()
    armor_edit.description = 'Edit Description'

    assert armor_edit.name.get_attribute('value') == 'Edit Name'
    assert armor_edit.type_.get_attribute('value') == 'Edit Type'
    assert armor_edit.magical_modifier.get_attribute('value') == '2'
    assert armor_edit.price.get_attribute('value') == '300'
    assert armor_edit.currency_denomination.get_attribute('value') == 'EP'
    assert armor_edit.weight.get_attribute('value') == '200'
    assert armor_edit.armor_class.get_attribute('value') == '16'
    assert armor_edit.stealth.get_attribute('value') == 'Advantage'
    assert 'active' in armor_add.doff.get_attribute('class')
    assert armor_edit.description.get_attribute('value') == 'Edit Description'
    armor_edit.done.click()
    time.sleep(.3)
    row = ut.get_table_row(armor_table, 'table', 1)
    assert row.armor == 'Edit Name  + 2'
    assert row.armor_class == '16'
    assert row.type == 'Edit Type'
コード例 #10
0
ファイル: test_inventory.py プロジェクト: OmnesPotens/uat
def test_autocomplete_inventory(player_wizard, browser):  # noqa
    """As a player, if I start typing in the autocomplete inputs, I can select suggested items in the dropdown."""
    print(
        'As a player, if I start typing in the autocomplete inputs, I can select suggested items in the dropdown.'
    )

    inventory_add = inventory.InventoryAddModal(browser)
    inventory_table = inventory.InventoryTable(browser)
    tabs = Tabs(browser)
    tabs.inventory.click()

    inventory_table.add.click()
    ut.select_from_autocomplete(inventory_add, 'name', '', browser)

    assert inventory_add.name.get_attribute('value') == 'Abacus'
コード例 #11
0
ファイル: test_skills.py プロジェクト: OmnesPotens/uat
def test_add_autocomplete_feat(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.'
    )

    feat = feats.FeatAddModal(browser)
    feats_table = feats.FeatsTable(browser)
    tabs = Tabs(browser)
    tabs.skills.click()

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

    assert feat.name.get_attribute('value') == 'Grappler'
コード例 #12
0
ファイル: test_equipment.py プロジェクト: OmnesPotens/uat
def test_weapon_persists(player_wizard, browser):  # noqa
    """As a player, all fields for weapon persist after page refresh."""
    print('As a player, all fields for weapon persist after page refresh.')

    weapon_add = weapon.WeaponAddModal(browser)
    weapon_edit = weapon.WeaponEditModal(browser)
    weapon_table = weapon.WeaponTable(browser)
    weapon_tabs = weapon.WeaponModalTabs(browser)
    tabs = Tabs(browser)
    tabs.equipment.click()

    weapon_table.add.click()
    ut.select_from_autocomplete(weapon_add, 'name', '', browser)
    weapon_add.add.click()

    browser.refresh()

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

    assert row.weapon.strip() == 'Battleaxe'
    assert row.to_hit == '+ 6'
    assert row.damage == '1d8 or 1d10'
    assert row.damage_type == 'Slashing'
    assert row.range == '5 ft.'
    assert row.property == 'Versatile'
    assert row.quantity == '1'

    row = ut.get_table_row(weapon_table, 'table', values=False)
    time.sleep(.3)
    row[0].click()
    time.sleep(.3)
    weapon_tabs.edit.click()

    assert weapon_edit.name.get_attribute('value') == 'Battleaxe'
    assert weapon_edit.damage.get_attribute('value') == '1d8 or 1d10'
    assert weapon_edit.magical_modifier.get_attribute('value') == '0'
    assert weapon_edit.to_hit_modifier.get_attribute('value') == '0'
    assert weapon_edit.type_.get_attribute('value') == 'Melee'
    assert weapon_edit.handedness.get_attribute('value') == 'One or Two Handed'
    assert weapon_edit.proficiency.get_attribute('value') == 'Martial'
    assert weapon_edit.price.get_attribute('value') == '10'
    assert weapon_edit.currency_denomination.get_attribute('value') == 'GP'
    assert weapon_edit.weight.get_attribute('value') == '4'
    assert weapon_edit.range_.get_attribute('value') == ''
    assert weapon_edit.damage_type.get_attribute('value') == 'Slashing'
    assert weapon_edit.property_.get_attribute('value') == 'Versatile'
    assert weapon_edit.quantity.get_attribute('value') == '1'
    assert weapon_edit.description.get_attribute('value') == ''
コード例 #13
0
ファイル: test_wizard.py プロジェクト: OmnesPotens/uat
def test_background_auto_complete(browser):  # noqa
    """As a player, when I start typing in the background field, OGL data auto-completes."""
    print(
        'As a player, when I start typing in the background field, OGL data auto-completes.'
    )

    wizard_main = NewCharacterCampaign(browser)
    who_are_you = wizard.WhoAreYou(browser)

    wizard_main.get_started.click()
    wizard_main.player.click()
    wizard_main.next_.click()

    ut.select_from_autocomplete(who_are_you, 'background', '', browser)

    assert who_are_you.background.get_attribute('value') == 'Acolyte'
コード例 #14
0
ファイル: test_wizard.py プロジェクト: OmnesPotens/uat
def test_alignment_auto_complete(browser):  # noqa
    """ As a player, when I start typing in the alignment field, OGL data auto-completes."""
    print(
        'As a player, when I start typing in the alignment field, OGL data auto-completes.'
    )

    wizard_main = NewCharacterCampaign(browser)
    who_are_you = wizard.WhoAreYou(browser)

    wizard_main.get_started.click()
    wizard_main.player.click()
    wizard_main.next_.click()

    ut.select_from_autocomplete(who_are_you, 'alignment', '', browser)

    assert who_are_you.alignment.get_attribute('value') == 'Lawful good'
コード例 #15
0
ファイル: test_skills.py プロジェクト: OmnesPotens/uat
def test_edit_trait(player_wizard, browser):  # noqa
    """As a player, I can edit a trait."""
    print('As a player, I can edit a trait.')

    trait = traits.TraitAddModal(browser)
    trait_edit = traits.TraitEditModal(browser)
    traits_table = traits.TraitsTable(browser)
    trait_tabs = traits.TraitModalTabs(browser)
    tabs = Tabs(browser)
    tabs.skills.click()

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

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

    trait_edit.name.clear()
    trait_edit.race.clear()
    trait_edit.description.clear()

    trait_edit.name = 'Edited Name'
    trait_edit.race = 'Edited Race'
    trait_edit.description = 'Edited Description'
    trait_edit.tracked.click()
    trait_edit.max_.clear()
    trait_edit.max_ = 4
    trait_edit.short_rest.click()

    assert trait_edit.name.get_attribute('value') == 'Edited Name'
    assert trait_edit.race.get_attribute('value') == 'Edited Race'
    assert trait_edit.description.get_attribute(
        'value') == 'Edited Description'
    assert trait_edit.max_.get_attribute('value') == '4'
    assert 'active' in trait_edit.short_rest.get_attribute('class')
    trait_edit.done.click()

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

    row = ut.get_table_row(traits_table, 'table', 1)
    assert row.trait == 'Edited Name'
    assert row.race == 'Edited Race'
コード例 #16
0
ファイル: test_skills.py プロジェクト: OmnesPotens/uat
def test_autocomplete_proficiency(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 type field, I can select suggested items in the dropdown.'
    )

    proficiency_add = proficiency.ProficiencyAddModal(browser)
    proficiency_table = proficiency.ProficiencyTable(browser)
    tabs = Tabs(browser)
    tabs.skills.click()

    proficiency_table.add.click()
    ut.select_from_autocomplete(proficiency_add, 'name', '', browser)
    ut.select_from_autocomplete(proficiency_add, 'type_', '', browser)

    assert proficiency_add.name.get_attribute('value') == 'Abyssal'
    assert proficiency_add.type_.get_attribute('value') == 'Armor'
コード例 #17
0
ファイル: test_profile.py プロジェクト: OmnesPotens/uat
def test_background_autocomplete(player_wizard, browser):  # noqa
    """As a player, if I start typing in the background field, OGL data auto-completes."""
    print(
        'As a player, if I start typing in the background field, OGL data auto-completes.'
    )

    profile = Profile(browser)
    tabs = Tabs(browser)
    tabs.profile.click()

    ut.select_from_autocomplete(profile, 'background', '', browser)
    assert profile.background.get_attribute('value') == 'Acolyte'

    profile.background.clear()

    ut.select_from_autocomplete(profile, 'background', 'f', browser)
    assert profile.background.get_attribute('value') == 'Folk Hero'
コード例 #18
0
ファイル: test_profile.py プロジェクト: OmnesPotens/uat
def test_class_autocomplete(player_wizard, browser):  # noqa
    """As a player, if I start typing in the class field, OGL data auto-completes."""
    print(
        'As a player, if I start typing in the class field, OGL data auto-completes.'
    )

    profile = Profile(browser)
    tabs = Tabs(browser)
    tabs.profile.click()

    ut.select_from_autocomplete(profile, 'class_', '', browser)
    assert profile.class_.get_attribute('value') == 'Barbarian'

    profile.class_.clear()

    ut.select_from_autocomplete(profile, 'class_', 'c', browser)
    assert profile.class_.get_attribute('value') == 'Cleric'
コード例 #19
0
ファイル: test_skills.py プロジェクト: OmnesPotens/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)
    ut.select_from_autocomplete(feature, 'class_', '', browser)

    assert feature.name.get_attribute('value') == 'Rage (Barbarian, Lvl. 1)'
    assert feature.class_.get_attribute('value') == 'Barbarian'
コード例 #20
0
ファイル: test_profile.py プロジェクト: OmnesPotens/uat
def test_alignment_autocomplete(player_wizard, browser):  # noqa
    """As a player, if I start typing in the alignment field, OGL data auto-completes."""
    print(
        'As a player, if I start typing in the alignment field, OGL data auto-completes.'
    )

    profile = Profile(browser)
    tabs = Tabs(browser)
    tabs.profile.click()

    ut.select_from_autocomplete(profile, 'alignment', '', browser)
    assert profile.alignment.get_attribute('value') == 'Lawful good'

    profile.alignment.clear()

    ut.select_from_autocomplete(profile, 'alignment', 'c', browser)
    assert profile.alignment.get_attribute('value') == 'Chaotic good'
コード例 #21
0
ファイル: test_profile.py プロジェクト: OmnesPotens/uat
def test_race_autocomplete(player_wizard, browser):  # noqa
    """As a player, if I start typing in the race field, OGL data auto-completes."""
    print(
        'As a player, if I start typing in the race field, OGL data auto-completes.'
    )

    profile = Profile(browser)
    tabs = Tabs(browser)
    tabs.profile.click()

    ut.select_from_autocomplete(profile, 'race', '', browser)
    assert profile.race.get_attribute('value') == 'Dwarf'

    profile.race.clear()

    ut.select_from_autocomplete(profile, 'race', 'c', browser)
    assert profile.race.get_attribute('value') == 'Rock Gnome'
コード例 #22
0
ファイル: test_wizard.py プロジェクト: OmnesPotens/uat
def test_wizard_profile_stats(browser):  # noqa
    """As a player, after creating a character via the character creation wizard, I can view all the data entered in the stats and profile modules."""
    print(
        'As a player, after creating a character via the character creation wizard, I can view all the data entered in the stats and profile modules.'
    )
    wizard_main = NewCharacterCampaign(browser)
    who_are_you = wizard.WhoAreYou(browser)
    ability_scores = wizard.AbilityScoresManual(browser)
    tabs = Tabs(browser)
    profile = Profile(browser)
    stats = OtherStats(browser)
    hud = HUD(browser)

    wizard_main.get_started.click()
    wizard_main.player.click()
    wizard_main.next_.click()

    who_are_you.character_name = 'Test Char'
    who_are_you.player_name = 'Automated Testing Bot.'
    ut.select_from_autocomplete(who_are_you, 'alignment', '', browser)
    who_are_you.deity = 'Test Deity'
    ut.select_from_autocomplete(who_are_you, 'race', '', browser)
    ut.select_from_autocomplete(who_are_you, 'class_', '', browser)
    who_are_you.gender = 'Test Male'
    who_are_you.age = 21
    ut.select_from_autocomplete(who_are_you, 'background', '', browser)
    who_are_you.level = 3
    who_are_you.experience = 1000

    wizard_main.next_.click()

    ability_scores.strength = '18'
    ability_scores.dexterity = '18'
    ability_scores.constitution = '18'
    ability_scores.intelligence = '18'
    ability_scores.wisdom = '18'
    ability_scores.charisma = '18'

    wizard_main.finish.click()

    tabs.profile.click()

    assert profile.name.get_attribute('value') == 'Automated Testing Bot.'
    assert profile.background.get_attribute('value') == 'Acolyte'
    assert profile.alignment.get_attribute('value') == 'Lawful good'
    assert profile.deity.get_attribute('value') == 'Test Deity'
    assert profile.race.get_attribute('value') == 'Dwarf'
    assert profile.class_.get_attribute('value') == 'Barbarian'
    assert profile.gender.get_attribute('value') == 'Test Male'
    assert profile.age.get_attribute('value') == '21'

    tabs.stats.click()

    assert stats.level.get_attribute('value') == '3'
    assert stats.experience.get_attribute('value') == '1000'
コード例 #23
0
ファイル: test_inventory.py プロジェクト: OmnesPotens/uat
def test_magic_items_persists(player_wizard, browser):  # noqa
    """As a player, all fields for magic_items persist after page refresh."""
    print(
        'As a player, all fields for magic_items persist after page refresh.')

    magic_items_add = magic_items.MagicItemsAddModal(browser)
    magic_items_edit = magic_items.MagicItemsEditModal(browser)
    magic_items_table = magic_items.MagicItemsTable(browser)
    magic_items_tabs = magic_items.MagicItemsModalTabs(browser)
    tabs = Tabs(browser)
    tabs.inventory.click()

    magic_items_table.add.click()
    ut.select_from_autocomplete(magic_items_add, 'item', '', browser)
    magic_items_add.add.click()

    browser.refresh()

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

    assert row.magic_item.strip() == 'Adamantine Armor'
    assert row.charges == 'N/A'
    assert row.weight == '0 lbs.'
    assert 'with adamantine' in row.description

    row = ut.get_table_row(magic_items_table, 'table', 1, values=False)
    assert row[2].find_element_by_tag_name('input').is_displayed() is False

    row = ut.get_table_row(magic_items_table, 'table', values=False)
    time.sleep(.3)
    row[0].click()
    time.sleep(.3)
    magic_items_tabs.edit.click()

    assert magic_items_edit.item.get_attribute('value') == 'Adamantine Armor'
    assert magic_items_edit.type_.get_attribute(
        'value') == 'Armor (medium or heavy but not hide)'
    assert magic_items_edit.rarity.get_attribute('value') == 'Uncommon'
    assert magic_items_edit.max_charges.get_attribute('value') == '0'
    assert magic_items_edit.charges.get_attribute('value') == '0'
    assert magic_items_edit.weight.get_attribute('value') == '0'
    assert magic_items_edit.requires_attunement.is_selected() is False
    assert magic_items_edit.attuned.is_selected() is False
    assert 'reinforced with adamantine' in magic_items_edit.description.get_attribute(
        'value')
コード例 #24
0
ファイル: test_inventory.py プロジェクト: OmnesPotens/uat
def test_edit_inventory(player_wizard, browser):  # noqa
    """As a player, I can edit an item in my inventory."""
    print('As a player, I can edit an item in my inventory.')

    inventory_add = inventory.InventoryAddModal(browser)
    inventory_edit = inventory.InventoryEditModal(browser)
    inventory_table = inventory.InventoryTable(browser)
    inventory_tabs = inventory.InventoryModalTabs(browser)
    tabs = Tabs(browser)
    tabs.inventory.click()

    inventory_table.add.click()
    ut.select_from_autocomplete(inventory_add, 'name', '', browser)
    inventory_add.add.click()

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

    inventory_edit.name = 'Edit Name'
    inventory_edit.weight = 100
    inventory_edit.quantity = 2
    inventory_edit.cost = 100
    inventory_edit.currency_denomination = 'GP'
    inventory_edit.description = 'Edit Description'

    assert inventory_edit.name.get_attribute('value') == 'Edit Name'
    assert inventory_edit.weight.get_attribute('value') == '100'
    assert inventory_edit.quantity.get_attribute('value') == '2'
    assert inventory_edit.cost.get_attribute('value') == '100'
    assert inventory_edit.currency_denomination.get_attribute('value') == 'GP'
    assert inventory_edit.description.get_attribute(
        'value') == 'Edit Description'

    inventory_edit.done.click()
    time.sleep(.3)
    row = ut.get_table_row(inventory_table, 'table', 1)
    assert row.item == 'Edit Name'
    assert row.quantity == '2'
    assert row.weight == '100 lbs.'
    assert row.cost == '100 GP'
    assert row.description == 'Edit Description'
コード例 #25
0
ファイル: test_skills.py プロジェクト: OmnesPotens/uat
def test_feat_ogl_pre_pop(player_wizard, browser):  # noqa
    """As a player, if I select from feat name field, OGL data auto-completes and the remaining fields pre-populate."""
    print(
        'As a player, if I select from feat name field, OGL data auto-completes and the remaining fields pre-populate.'
    )

    feat = feats.FeatAddModal(browser)
    feats_table = feats.FeatsTable(browser)
    tabs = Tabs(browser)
    tabs.skills.click()

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

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

    assert row.feat == 'Grappler'
コード例 #26
0
ファイル: test_skills.py プロジェクト: OmnesPotens/uat
def test_add_autocomplete_trait(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.'
    )

    trait = traits.TraitAddModal(browser)
    traits_table = traits.TraitsTable(browser)
    tabs = Tabs(browser)
    tabs.skills.click()

    traits_table.add.click()
    ut.select_from_autocomplete(trait, 'name', '', browser)
    ut.select_from_autocomplete(trait, 'race', '', browser)

    assert trait.name.get_attribute(
        'value') == 'Ability Score Increase (Dragonborn)'
    assert trait.race.get_attribute('value') == 'Dwarf'
コード例 #27
0
ファイル: test_equipment.py プロジェクト: OmnesPotens/uat
def test_delete_weapon(player_wizard, browser):  # noqa
    """As a player, I can delete a weapon."""
    print('As a player, I can delete a weapon.')

    weapon_add = weapon.WeaponAddModal(browser)
    weapon_table = weapon.WeaponTable(browser)
    tabs = Tabs(browser)
    tabs.equipment.click()

    weapon_table.add.click()
    ut.select_from_autocomplete(weapon_add, 'name', '', browser)
    weapon_add.add.click()

    rows = ut.get_table_rows(weapon_table, 'table', values=False)
    time.sleep(.3)
    rows[0][7].find_element_by_tag_name('a').click()
    rows = ut.get_table_rows(weapon_table, 'table', values=False)

    assert rows[0][0].text == 'Add a new weapon'
コード例 #28
0
ファイル: test_skills.py プロジェクト: OmnesPotens/uat
def test_delete_proficiency(player_wizard, browser):  # noqa
    """As a player, I can delete a proficiency."""
    print('As a player, I can delete a proficiency.')

    proficiency_add = proficiency.ProficiencyAddModal(browser)
    proficiency_table = proficiency.ProficiencyTable(browser)
    tabs = Tabs(browser)
    tabs.skills.click()

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

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

    assert rows[0][0].text == 'Add a new Proficiency'
コード例 #29
0
ファイル: test_equipment.py プロジェクト: OmnesPotens/uat
def test_delete_armor(player_wizard, browser):  # noqa
    """As a player, I can delete an armor."""
    print('As a player, I can delete an armor.')

    armor_add = armor.ArmorAddModal(browser)
    armor_table = armor.ArmorTable(browser)
    tabs = Tabs(browser)
    tabs.equipment.click()

    armor_table.add.click()
    ut.select_from_autocomplete(armor_add, 'name', '', browser)
    armor_add.add.click()

    rows = ut.get_table_rows(armor_table, 'table', values=False)
    time.sleep(.3)
    rows[0][4].find_element_by_tag_name('a').click()
    rows = ut.get_table_rows(armor_table, 'table', values=False)

    assert rows[0][0].text == 'Add a new armor'
コード例 #30
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'