- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在尝试使用此功能规范时难以隔离问题。
require 'spec_helper'
feature 'Add Employee', type: :feature do
scenario 'with valid information' do
# visit setup_add_employees_path
visit '/setup/add_employees'
# save_and_open_page
fill_in "First Name", with: 'Test'
fill_in 'Last Name', with: 'Employee'
fill_in 'Email', with: 'testemployee@example.com'
# fill_in , with: 'testemployee@example.com'
# expect(page).to find_field('First Name').value
end
end
# add_employees.html.haml
= render "partials/nav_left_setup"
- model_class = Invitation.new.class
#alert_message
.page-header
%h1 Invite Your Employees
%p.lead Now it's time to add your employees to HuddleHR. We'll send an email to your employees when setup is complete. Don't worry, the email will include instructions on how to setup their account and update their personal information.
%p.lead
If you like, you can import your employee list from an
= succeed "." do
%a#show_import_form{ href: "#" } Excel file
= render "partials/setup_import_employees"
= nested_form_for @account, :html => {:class => "invitation"} do |f|
%br/
= f.fields_for :invitations, @invitations do |invitation_form|
= invitation_form.hidden_field :product_id, :value => "1"
= invitation_form.text_field :first_name, :class => "input-small", :placeholder => "First Name", :required => :true
= invitation_form.text_field :last_name, :class => "input-small", :placeholder => "Last Name", :required => :true
%span= invitation_form.email_field :email, :class => "text_field", :placeholder => "Email Address", :required => :true
= invitation_form.collection_select :team_id, @teams, :id, :name
- if invitation_form.object.new_record?
= hidden_field_tag :invitaion_new_record, "new record"
= link_to "Delete", "javascript:void(0);", :class => "btn btn-danger delete_invitation_row_button", :style => "margin-bottom: 12px"
- else
= link_to "Delete", invitation_form.object, :confirm => "Are you sure?", :method => :delete, :remote => true, :class => "btn btn-danger btn-delete destroy_duplicate_nested_form", :style => "margin-bottom: 12px"
= f.link_to_add raw("<i class=\"icon-plus-sign icon-white\"></i> Add An Employee"), :invitations, class: "btn btn-success"
.form-actions
= link_to "Back", @optional_step.prv_link, class: "btn"
= f.submit "Save & Continue", :class => "btn btn-primary"
= link_to "Skip This Step", @optional_step.next_link, class: "btn" if @optional_step.optional == true
# The accounts_controller's create method
def create # TODO we need to document this...
@account = Account.new(params[:account])
if @account.save
# Send the account setup email to the account creator
UserMailer.account_setup_email(current_user).deliver
current_user.add_role!(User::ROLES[0]) # asigning the role roster_admin
current_user.add_role!(User::ROLES[3]) # asigning the role employee
# Sign the account up for Roster and create some inital records like:
# Register Roster as a product the account has subscribed to.
AccountProduct.create!(:account_id => @account.id, :product_id => Product.where(:name => "Roster").first.id)
# Create the account holder's profile
Profile.create!(:user_id => current_user.id, :first_name => @account.account_owner_first_name_input, :last_name => @account.account_owner_last_name_input)
# Create their first default team so they have a place to keep people
Team.create!(name: "Example Team", description: "This is just a placeholder team. You can rename or delete it.", account_id: @account.id, manager_id: current_user.id)
# Create their first job description so they have a place to keep people
JobDescription.create!(title: "Example Job Description", description: "This is just a placeholder job description. You can rename or delete it.", account_id: @account.id)
# Create a first post for the company so they have something on their homepage...
Post.create!(title: "Welcome to HuddleHR", body: "The simple and easy way to manage employee information in the cloud. You can invite employees, setup your org chart, fill out your profile and more.", account_id: @account.id, author_id: current_user.id, scope_id: "1")
# Create the initial employment record
Employment.create!(:user_id => current_user.id, :team_id => Team.find_by_account_id(@account.id).id, :effective_date => Date.today, :comment => "Initial creation of HuddleHR account owner employment record.")
# Set the User.account_id to the created account.id
current_user.update_attributes!(:account_id => @account.id)
setup_steps = @account.product_setup_steps
current_step = ProductSetupStep.where("link =? AND product_id =?", URI(request.referer).path, 1).first # Getting the current step
if current_step
setup_steps << ProductSetupStep.where("link =? AND product_id =?", URI(request.referer).path, 1).first
setup_steps << ProductSetupStep.where("step_number =? AND product_id =?", 1, 1).first
redirect_to current_step.next_link, :notice => 'Your account was successfully created.' if current_step.next_link.present?
redirect_to account_path(@account), :notice => 'Your account was successfully created.' unless current_step.next_link.present?
else
redirect_to account_path(@account), :notice => 'Your account was successfully created.'
end
else
render :action => "new"
end
end
# the imacros file, which I'm told is similar to selenium
' Add Employee
TAG POS=1 TYPE=A ATTR=TXT:Add<SP>An<SP>Employee
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:edit_account_* ATTR=ID:account_invitations_attributes_*_first_name CONTENT=Test
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:edit_account_* ATTR=ID:account_invitations_attributes_*_last_name CONTENT=Employee{{!VAR1}}
TAG POS=1 TYPE=INPUT:EMAIL FORM=ID:edit_account_* ATTR=ID:account_invitations_attributes_*_email CONTENT=testemployee{{!VAR1}}@huddlehr.com
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:edit_account_* ATTR=NAME:commit
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:edit_account_* ATTR=NAME:commit
TAG POS=1 TYPE=A ATTR=TXT:Send<SP>Invitations<SP>To<SP>These<SP>Employees
TAG POS=1 TYPE=A ATTR=TXT:Finish<SP>Setup
TAG POS=1 TYPE=A ATTR=TXT:Finish
# create_account_spec.rb
require 'spec_helper'
# require 'ruby-debug'
feature 'Create Account', type: :feature do
background do
sign_up_with Faker::Internet.email, '1Password'
end
scenario 'Fill form data' do
# visit '/setup'
visit new_account_path
fill_in 'First Name', with: 'Test'
fill_in 'Last Name', with: 'Owner'
fill_in 'Company Name', with: 'Company'
fill_in :account_addresses_attributes_0_line_one, with: '133 Main St'
fill_in :account_addresses_attributes_0_city, with: 'Columbia'
select 'SC', from: 'State'
fill_in :account_addresses_attributes_0_zip, with: '11111'
fill_in :account_phone_numbers_attributes_0_number, with: '(111) 111-11111'
select '(GMT-05:00) Eastern Time (US & Canada)', from: 'Time zone'
click_button('Save & Continue')
end
end
最佳答案
好的,所以我理解的问题是我没有正确设置我的背景来模仿多表单集成规范的第 2 部分在站点中的位置。我通过使用 FactoryGirl 创建一个用户来解决这个问题,然后使用 Capybara 的 fill_in 和 user.email && user.password 而不是像上面看到的那样使用 faker。
这是我目前的规范:
# spec/features/add_employee_spec.rb
require 'spec_helper'
feature 'Add Employee', type: :feature do
background do
user = create :user
visit user_session_path
fill_in 'Email', with: user.email
fill_in 'Password', with: user.password
click_button 'Sign In'
expect(page).to have_content('Setup An Account')
end
scenario 'clicks Add A New Employee and fills out the form' do
account = create :account
save_and_open_page
visit setup_add_employees_path
fill_in 'first_name', with: 'Test'
fill_in 'Last Name', with: 'Employee'
fill_in 'Email', with: 'testemployee@example.com'
end
end
关于ruby-on-rails - Capybara:ElementNotFound:无法在多部分表单上找到字段名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22445115/
是的,我有这个对象,属性代表数据库表列作为属性,但它们都是大写的...如何将对象的所有属性更改为小写,而不将对象转换为将属性从大写转换为小写后的数组?..我想我可以用array_change_key_
是的,我有这个对象,属性代表db表的列作为属性,但是都是大写的...如何把对象的所有属性都变成小写,而不把对象转换成将属性从大写转换为小写后的数组?..我以为我可以用array_change_key_
我目前有一个论坛的 MySQL 帖子表。这包括父帖子和子帖子。如果它是父帖子,则它有一个主题。如果它是子帖子,则包含 parent_id。 例如: TABLE posts +----+--------
我正在添加一个临时表,其中包含第二个查询将使用的文件名列表。我知道文件名可以用于sql注入(inject),所以我想使用准备好的语句。 我的工作查询的简化版本如下所示(例如可能有 50 个文件名):
MySQL中查询所有数据库名和表名 查询所有数据库 ? 1
有人能给我指出正确的方向/网站吗 在 PHP 中有没有一种方法可以通过比较来自 FORM 的字段名称和来自数据库的 column_name 来动态更新特定的表。 例如 INPUT name="emai
获取表名及注释: ? 1
我正在使用 Pyshark 来解析 Wireshark 嗅探器日志,并且在使用“get_field_value”函数检索字段值时,我使用导出的 Json 格式文件(基于 pcapny 文件)来查找字段
我已经从以下 xsd 文件创建了 java bean 人.xsd
我用 MySQL 查询浏览器生成了一个 XML。我正在尝试应用 XSLT 将结果输出到 Word 表中。每条记录一张表。 这是我的 XML 示例 Critique
我有一个 select2 下拉列表,它配置为与远程数据一起使用。但是,我的远程数据源提供的搜索结果格式似乎与 select2 不兼容。远程数据例如是这样的: ... items: [ { value:
最好的 此时我在 python 2.7 中使用 Boto3,我想要的是:我的特定 DynamoDB 表的列标题。 此时,我正在处理一个非常大的 dynamoDB 表,有 80 列和 + 1.00O.0
错误信息 我刚刚试用了 Django-Rest-Framework 3.0 quickstart tutorial (伟大的介绍顺便说一句)并在我自己的系统/表上实现它时遇到了这个错误。 Improp
我正在尝试使用 haystack-whoosh 创建多个查询,我的最后一个问题是通过放置双反斜杠解决的,但现在出现了一个新错误。我在命令提示符中收到以下错误: C:\Users\varun\De
在尝试更新文档时,我在字段 timesToDisplay 中收到上述错误。 MongoDB 版本 2.6.7。 整个模型: msg = { 'name': '',
我是一名优秀的程序员,十分优秀!