Sha256: 39a3770f2ff86225d0ba13f40f55735739d08c50090932eeab9d014e43014f0c

Contents?: true

Size: 1.42 KB

Versions: 18

Compression:

Stored size: 1.42 KB

Contents

# encoding: utf-8
require 'spec_helper'

describe UserDatabase do
  let(:valid_user_file) {
    create_file 'user.csv', <<-EOS.strip_heredoc
      "user","password"
      "user1","password1"
    EOS
  }

  context '#initialize' do
    it 'accepts a file for user database' do
      expect {
        UserDatabase.new(valid_user_file)
      }.not_to raise_error
    end
  end

  context '#create_users' do
    it 'creates instances' do
      creator = double('creator')
      allow(creator).to receive(:create!)

      db = UserDatabase.new(valid_user_file)
      db.create_users(creator)
    end

    it 'raises an exception on invalid user record' do
      message = Class.new do
        class << self
          attr_reader :i18n_scope
        end

        attr_reader :errors

        def initialize
          @errors = ActiveModel::Errors.new(self)
        end
      end.new

      creator = double('creator')
      allow(creator).to receive(:create!) { raise ActiveRecord::RecordInvalid, message }

      db = UserDatabase.new(valid_user_file)

      expect {
        db.create_users(creator)
      }.to raise_error Exceptions::UserRecordInvalid

    end

    it 'raises an exception if csv file does not exist' do
      creator = double('creator')
      allow(creator).to receive(:create!)

      db = UserDatabase.new('asdf')
      expect {
        db.create_users(creator)
      }.to raise_error Exceptions::UserFileNotFound
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
proxy_tester-0.1.10 spec/user_database_spec.rb
proxy_tester-0.1.8 spec/user_database_spec.rb
proxy_tester-0.1.6 spec/user_database_spec.rb
proxy_tester-0.1.5 spec/user_database_spec.rb
proxy_tester-0.1.4 spec/user_database_spec.rb
proxy_tester-0.1.3 spec/user_database_spec.rb
proxy_tester-0.1.2 spec/user_database_spec.rb
proxy_tester-0.1.1 spec/user_database_spec.rb
proxy_tester-0.1.0 spec/user_database_spec.rb
proxy_tester-0.0.9 spec/user_database_spec.rb
proxy_tester-0.0.8 spec/user_database_spec.rb
proxy_tester-0.0.7 spec/user_database_spec.rb
proxy_tester-0.0.6 spec/user_database_spec.rb
proxy_tester-0.0.5 spec/user_database_spec.rb
proxy_tester-0.0.4 spec/user_database_spec.rb
proxy_tester-0.0.3 spec/user_database_spec.rb
proxy_tester-0.0.2 spec/user_database_spec.rb
proxy_tester-0.0.1 spec/user_database_spec.rb