---
- credentials:
    provider: magic
    email: john@doe@example.com
  message: Should handle magic link auth
  expected:
    error: ~
    params:
      provider: magic
      email: john@doe@example.com
    options:
      redirectTo: 'http://localhost:3000/auth'
      scopes: ''
      params: []
  call:
    function: 'signIn'
    credentials:
      email: john@doe@example.com
    options:
      redirectTo: 'http://localhost:3000/auth'
      scopes: ''
      params: []

- credentials:
    provider: magic
    email: rate@limit.error
  message: Should raise error
  expected:
    error: Rate limit error
    params:
      provider: magic
      email: rate@limit.error
    options:
      redirectTo: 'http://localhost:3000/auth'
      scopes: ''
      params: []
  call:
    function: 'signIn'
    credentials:
      email: rate@limit.error
    options:
      redirectTo: 'http://localhost:3000/auth'
      scopes: ''
      params: []

- credentials:
    provider: google
    # email: rate@limit.error
  message: Should handle google auth
  providers:
    - provider: google
      scopes:
        - email
      params: []

  expected:
    error: ~
    params:
      provider: google
    options:
      redirectTo: 'http://localhost:3000/auth'
      scopes: 'email'
      params: []
  call:
    function: 'signIn'
    credentials:
      provider: google
    options:
      redirectTo: 'http://localhost:3000/auth'
      scopes: 'email'
      params: []

- credentials:
    provider: unknown
  message: Should return error when provider is not configured
  expected:
    error: Provider has not been configured.
    params:
      provider: unknown
  call: ~
