budget/test/system/expenses_test.rb

54 lines
1.5 KiB
Ruby

require "application_system_test_case"
class ExpensesTest < ApplicationSystemTestCase
setup do
@expense = expenses(:monthly_expense)
login(users(:one).email)
end
test "visiting the index" do
visit expenses_url
assert_selector "h1", text: "Expenses"
end
test "should create expense" do
visit expenses_url
click_on "New expense"
if @expense.credit_card
find("label.toggle-label[for='expense_credit_card']").click
end
fill_in "Description", with: @expense.description
check "Estimated" if @expense.estimated
fill_in "Payment", with: @expense.payment
select @expense.period.capitalize, from: "Period"
click_on "Create Expense"
assert_text "Expense was successfully created"
click_on "Back"
end
test "should update Expense" do
visit expense_url(@expense)
click_on "Edit expense", match: :first
if @expense.credit_card
find("label.toggle-label[for='expense_credit_card']").click
end
fill_in "Description", with: @expense.description
check "Estimated" if @expense.estimated
fill_in "Payment", with: @expense.payment
select @expense.period.capitalize, from: "Period"
click_on "Update Expense"
assert_text "Expense was successfully updated"
click_on "Back"
end
test "should destroy Expense" do
visit expense_url(@expense)
accept_prompt { click_on "Delete expense", match: :first }
assert_text "Expense was successfully destroyed"
end
end