Класс Mock Project в Jira- Ruby gem - неинициализированная константа Project - PullRequest
0 голосов
/ 13 февраля 2020

Я пытаюсь проверить jira-ruby gem. В соответствии с Jira- Ruby gem docs У меня такая же настройка, чтобы найти проект Jira.

  class ProjectConnection
    def initialize(project_key)
      @project_key = project_key
    end

    def call
      client = JIRA::Client.new(options)
      client.Project.find(project_key)
    end

    private

    attr_reader :project_key

    def options
      {
        username: 'username',
        password: 'password',
        site: 'https://company.atlassian.net/',
        context_path: '',
        auth_type: :basic,
        use_ssl: true
      }
    end
  end

Я сделал спецификации:

RSpec.describe ProjectConnection do
  subject { described_class.new(project_key) }
  let(:project_key) { 'TSW-123' }

  let(:options) do
    {
      username: 'user',
      password: 'password',
      site: 'https://example.com',
      context_path: '',
      auth_type: :basic,
      use_ssl: true
    }
  end

  let(:jira_client) { instance_double(JIRA::Client) }
  let(:project) { instance_double(Project) }

  before do
    allow(JIRA::Client).to receive(:new).with(options).and_return(jira_client)
    allow(Project).to receive(:find).with(project_key).and_return(project)
  end

  it 'connect to the project' do
    expect(subject.call).to receive(JIRA::Resource::Project)
  end
end

Я получаю сообщение об ошибке:

NameError: неинициализированная константа Project Вы имели в виду? Object

Итак, я изменил Project в моем макете на Object и у меня появилась другая ошибка:

Объект не реализуется: find

Как издеваться над этим Project классом, который происходит от этого драгоценного камня?

...