Sha256: 617953b8e699d879d81b68dc889d829fc1f5cf18aa240b03590db8f97406dd1b

Contents?: true

Size: 1.03 KB

Versions: 1

Compression:

Stored size: 1.03 KB

Contents

require 'spec_helper'

module Polytrix
  describe Implementor do
    subject(:implementor) { described_class.new(name: 'test', language: 'ruby', basedir: 'sdks/test') }
    let(:executor) { double('executor') }

    before do
      subject.executor = executor
    end

    describe '#bootstrap' do
      it 'executes script/bootstrap' do
        expect(executor).to receive(:execute).with('./scripts/bootstrap',  cwd: Pathname.new(File.absolute_path('sdks/test')), prefix: 'test')
        implementor.bootstrap
      end
    end

    describe '#build_challenge' do
      subject(:implementor) { Polytrix::Implementor.new name: 'some_sdk', basedir: File.absolute_path('spec/fixtures') }
      let(:challenge) { Fabricate(:challenge, name: 'factorial', vars: {}) }

      it 'builds a Challenge' do
        expect(challenge).to be_an_instance_of Polytrix::Challenge
      end

      it 'finds the source' do
        expected_file = Pathname.new 'spec/fixtures/factorial.py'
        expect(challenge.source_file).to eq(expected_file)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
polytrix-0.1.0.pre spec/polytrix/implementor_spec.rb