more specs
This commit is contained in:
parent
1933e25925
commit
2825eee48e
@ -146,6 +146,7 @@ module Devops
|
|||||||
h
|
h
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# TODO: why symbols here?
|
||||||
def to_hash_list
|
def to_hash_list
|
||||||
{
|
{
|
||||||
name: self.id,
|
name: self.id,
|
||||||
|
|||||||
@ -235,9 +235,9 @@ RSpec.describe Devops::Model::Project, type: :model do
|
|||||||
end
|
end
|
||||||
|
|
||||||
describe '#delete_deploy_env' do
|
describe '#delete_deploy_env' do
|
||||||
it 'removes env' do
|
it 'removes env', stubbed_connector: true do
|
||||||
allow(Devops::Db).to receive_message_chain('connector.remove_deploy_env_from_project')
|
allow(stubbed_connector).to receive(:remove_deploy_env_from_project)
|
||||||
expect(Devops::Db).to receive_message_chain('connector.remove_deploy_env_from_project').with(project.id, 'foo')
|
expect(stubbed_connector).to receive(:remove_deploy_env_from_project).with(project.id, 'foo')
|
||||||
project.delete_deploy_env('foo')
|
project.delete_deploy_env('foo')
|
||||||
expect(project.deploy_envs).to match_array []
|
expect(project.deploy_envs).to match_array []
|
||||||
end
|
end
|
||||||
@ -271,4 +271,84 @@ RSpec.describe Devops::Model::Project, type: :model do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe '#to_hash_list' do
|
||||||
|
it 'returns hash' do
|
||||||
|
expect(project.to_hash_list).to be_a(Hash)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe '#deploy_info' do
|
||||||
|
subject { project.deploy_info(project.deploy_env('foo')) }
|
||||||
|
it 'returns hash' do
|
||||||
|
expect(subject).to be_a(Hash)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'includes use_json_file, project and project_info' do
|
||||||
|
expect(subject).to include('use_json_file', 'project', 'project_info')
|
||||||
|
expect(subject['project_info']).to be_a(Hash)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe '#to_hash_without_id' do
|
||||||
|
subject { project.to_hash_without_id }
|
||||||
|
it 'returns a hash' do
|
||||||
|
expect(subject).to be_a(Hash)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "doesn't include id or name" do
|
||||||
|
expect(subject).not_to include('id', 'name')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe '#create', stubbed_connector: true do
|
||||||
|
before do
|
||||||
|
allow(stubbed_connector).to receive(:project_insert)
|
||||||
|
end
|
||||||
|
subject { project.create }
|
||||||
|
|
||||||
|
it 'run hooks' do
|
||||||
|
expect(project).to receive(:run_hook).with(:before_create).ordered
|
||||||
|
expect(project).to receive(:run_hook).with(:after_create).ordered
|
||||||
|
subject
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'inserts record into DB' do
|
||||||
|
expect(stubbed_connector).to receive(:project_insert).with(project)
|
||||||
|
subject
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'returns a hash' do
|
||||||
|
expect(subject).to be_a(Hash)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe '#delete', stubbed_connector: true do
|
||||||
|
before do
|
||||||
|
allow(stubbed_connector).to receive(:project_delete)
|
||||||
|
end
|
||||||
|
subject { project.delete }
|
||||||
|
|
||||||
|
it 'run hooks' do
|
||||||
|
expect(project).to receive(:run_hook).with(:before_delete).ordered
|
||||||
|
expect(project).to receive(:run_hook).with(:after_delete).ordered
|
||||||
|
subject
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'deletes record into DB' do
|
||||||
|
expect(stubbed_connector).to receive(:project_delete).with(project.id)
|
||||||
|
subject
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'returns a hash' do
|
||||||
|
expect(subject).to be_a(Hash)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# describe '#validate_components' do
|
||||||
|
# it "raises InvalidRecord if one of component doesn't include filename" do
|
||||||
|
# project.components = {'name' => {}}
|
||||||
|
# expect{project.validate_components}.to raise_error(InvalidRecord)
|
||||||
|
# end
|
||||||
|
# end
|
||||||
|
|
||||||
end
|
end
|
||||||
@ -19,3 +19,10 @@ RSpec.shared_context 'stubbed calls to logger', stub_logger: true do
|
|||||||
allow(DevopsLogger).to receive_message_chain('logger.error')
|
allow(DevopsLogger).to receive_message_chain('logger.error')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
RSpec.shared_context 'stubbed calls to connector', stubbed_connector: true do
|
||||||
|
let(:stubbed_connector) { double() }
|
||||||
|
before do
|
||||||
|
allow(Devops::Db).to receive(:connector) { stubbed_connector }
|
||||||
|
end
|
||||||
|
end
|
||||||
Loading…
Reference in New Issue
Block a user