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