code: def test_login_button_setup_correctly(self, mock_add_oauth_routes):
      with gr.Blocks() as demo:
          button = gr.LoginButton()
  
      login_event = demo.dependencies[0]
      assert login_event["targets"][0][1] == "click"
      assert not login_event["backend_fn"]  # No Python code
      assert login_event["js"]  # But JS code instead
      assert login_event["inputs"] == [button._id]
      assert login_event["outputs"] == []
  
file_path: gradio/test/test_buttons.py
imports: from unittest.mock import patch
  import pytest
  import gradio
label_desc: Use image node_id 3 for calling the TestOAuthButtons obj's underlying member method code with example usage: obj.test_login_button_setup_correctly(mock_add_oauth_routes) without return types