|
1 | 1 | require "rails_helper" |
2 | 2 |
|
3 | 3 | RSpec.describe PhoneNumberController, type: :controller do |
| 4 | + include Devise::Test::ControllerHelpers |
| 5 | + |
| 6 | + before do |
| 7 | + request.env["devise.mapping"] = Devise.mappings[:state_file_archived_intake] |
| 8 | + end |
| 9 | + |
4 | 10 | describe "GET #edit" do |
5 | | - it "renders the edit template with a new PhoneNumberForm" do |
| 11 | + it "signs out any existing state_file_archived_intake and resets verification flags" do |
| 12 | + intake = create(:state_file_archived_intake) |
| 13 | + sign_in intake |
| 14 | + |
| 15 | + session[:ssn_verified] = true |
| 16 | + session[:mailing_verified] = true |
| 17 | + session[:code_verified] = true |
| 18 | + |
6 | 19 | get :edit |
7 | 20 |
|
| 21 | + expect(controller.current_state_file_archived_intake).to be_nil |
| 22 | + |
| 23 | + expect(session[:ssn_verified]).to eq(false) |
| 24 | + expect(session[:mailing_verified]).to eq(false) |
| 25 | + expect(session[:code_verified]).to eq(false) |
| 26 | + |
8 | 27 | expect(assigns(:form)).to be_a(PhoneNumberForm) |
9 | 28 | expect(response).to render_template(:edit) |
10 | 29 | end |
| 30 | + |
| 31 | + it "initializes a new PhoneNumberForm and sets verification flags to false when no one is signed in" do |
| 32 | + session[:ssn_verified] = true |
| 33 | + session[:mailing_verified] = nil |
| 34 | + session[:code_verified] = true |
| 35 | + |
| 36 | + get :edit |
| 37 | + |
| 38 | + expect(assigns(:form)).to be_a(PhoneNumberForm) |
| 39 | + expect(response).to render_template(:edit) |
| 40 | + |
| 41 | + expect(session[:ssn_verified]).to eq(false) |
| 42 | + expect(session[:mailing_verified]).to eq(false) |
| 43 | + expect(session[:code_verified]).to eq(false) |
| 44 | + end |
11 | 45 | end |
12 | 46 |
|
13 | 47 | describe "POST #update" do |
|
0 commit comments