62 lines
1.9 KiB
Ruby
62 lines
1.9 KiB
Ruby
# encoding: UTF-8
|
|
# frozen_string_literal: true
|
|
|
|
describe Blockchain do
|
|
context 'validations' do
|
|
|
|
subject { build(:blockchain, 'eth-mainet') }
|
|
|
|
it 'checks valid record' do
|
|
expect(subject).to be_valid
|
|
end
|
|
|
|
it 'validates presence of key' do
|
|
subject.key = nil
|
|
expect(subject).to_not be_valid
|
|
expect(subject.errors.full_messages).to eq ["Key can't be blank"]
|
|
end
|
|
|
|
it 'validates client' do
|
|
subject.client = 'zephyreum'
|
|
expect(subject).to_not be_valid
|
|
expect(subject.errors.full_messages).to eq ["Client is not included in the list"]
|
|
end
|
|
|
|
it 'validates presence of name' do
|
|
subject.name = nil
|
|
expect(subject).to_not be_valid
|
|
expect(subject.errors.full_messages).to eq ["Name can't be blank"]
|
|
end
|
|
|
|
it 'validates presence of client' do
|
|
subject.client = nil
|
|
expect(subject).to_not be_valid
|
|
expect(subject.errors.full_messages).to include "Client can't be blank"
|
|
end
|
|
|
|
it 'validates inclusion of status' do
|
|
subject.status = 'abc'
|
|
expect(subject).to_not be_valid
|
|
expect(subject.errors.full_messages).to eq ["Status is not included in the list"]
|
|
end
|
|
|
|
it 'validates height should be greater than or equal to 1' do
|
|
subject.height = 0
|
|
expect(subject).to_not be_valid
|
|
expect(subject.errors.full_messages).to eq ["Height must be greater than or equal to 1"]
|
|
end
|
|
|
|
it 'validates min_confirmations should be greater than or equal to 1' do
|
|
subject.min_confirmations = 0
|
|
expect(subject).to_not be_valid
|
|
expect(subject.errors.full_messages).to eq ["Min confirmations must be greater than or equal to 1"]
|
|
end
|
|
|
|
it 'validates structure of server' do
|
|
subject.server = 'Wrong URL'
|
|
expect(subject).to_not be_valid
|
|
expect(subject.errors.full_messages).to eq ["Server is not a valid URL"]
|
|
end
|
|
end
|
|
end
|