# frozen_string_literal: true require 'test_helper' class AccountsControllerTest < ActionDispatch::IntegrationTest include TestAuthHelper setup do get auth_path @account = accounts(:account1) end test "should get index" do get accounts_url assert_response :success end test "should get new" do get new_account_url assert_response :success end test "should create account" do assert_difference('Account.count') do post accounts_url, params: { account: { home: @account.home, password: @account.password, site: @account.site, username: 'client-new' } } end assert_redirected_to account_url(Account.last) end test "should show account" do get account_url(@account) assert_response :success end test "should get edit" do get edit_account_url(@account) assert_response :success end test "should update account" do patch account_url(@account), params: { account: { home: @account.home, password: @account.password, site: @account.site, username: @account.username } } assert_redirected_to account_url(@account) end test "should destroy account" do assert_difference('Account.count', -1) do delete account_url(@account) end assert_redirected_to accounts_url end test 'reveal should provide password' do get reveal_password_url(@account.to_i), xhr: true json = JSON.parse(response.body).to_hash assert_response :success assert_match '1q2w3e4r5t6y7u', json['hash'] end end