github.com/cozy/cozy-stack@v0.0.0-20240327093429-939e4a21320e/tests/system/tests/onboarding_flagship.rb (about) 1 require_relative '../boot' 2 require 'minitest/autorun' 3 require 'pry-rescue/minitest' unless ENV['CI'] 4 5 describe "Onboarding a Cozy" do 6 it "can be made from the flagship app" do 7 Helpers.scenario "onboarding_flagship" 8 Helpers.start_mailhog 9 10 inst = Instance.create name: "Jade", locale: "en", onboarded: false 11 client = OAuth::Client.create inst 12 session_code = client.register_passphrase inst, "cozy" 13 page = client.open_authorize_page inst, session_code 14 verify_code = client.receive_flagship_code inst 15 access_code = client.validate_flagship inst, page, verify_code 16 tokens = client.access_token inst, access_code 17 refute_nil tokens["access_token"] 18 refute_nil tokens["refresh_token"] 19 permissions = client.list_permissions inst, tokens 20 assert_equal permissions.dig("data", "attributes", "permissions", "rule0", "type"), "*" 21 22 # Check that the passphrase has been correctly set 23 inst.open_session 24 25 # Check that the flagship app can create session code 26 client2 = OAuth::Client.create inst 27 session_code = client2.create_session_code inst 28 refute_nil session_code 29 30 # Same with 2FA enabled 31 inst.setup_2fa 32 session_code = client2.create_session_code inst 33 refute_nil session_code 34 client2.destroy inst 35 36 assert_equal inst.check, [] 37 inst.remove 38 end 39 end