remote_spec.rb revision 58b5a7a2ccc34f0265e7c4ba777ca17a21658863
396ba4b002168a7a3dca4f05ac79266b8f26a172Eugen Kuksarequire 'spec_helper'
396ba4b002168a7a3dca4f05ac79266b8f26a172Eugen Kuksa
396ba4b002168a7a3dca4f05ac79266b8f26a172Eugen Kuksadescribe 'Repository Remote' do
a38bf57c270c2677788657bc8a912f14de3c8d7eEugen Kuksa context 'converting' do
58b5a7a2ccc34f0265e7c4ba777ca17a21658863Eugen Kuksa let(:repository) { create :repository_with_empty_remote, remote_type: 'mirror' }
396ba4b002168a7a3dca4f05ac79266b8f26a172Eugen Kuksa
a38bf57c270c2677788657bc8a912f14de3c8d7eEugen Kuksa it 'should be a mirrored reppository' do
a38bf57c270c2677788657bc8a912f14de3c8d7eEugen Kuksa expect(repository.mirror?).to be_truthy
a38bf57c270c2677788657bc8a912f14de3c8d7eEugen Kuksa end
a38bf57c270c2677788657bc8a912f14de3c8d7eEugen Kuksa
a38bf57c270c2677788657bc8a912f14de3c8d7eEugen Kuksa context 'convert to local' do
a38bf57c270c2677788657bc8a912f14de3c8d7eEugen Kuksa before do
a38bf57c270c2677788657bc8a912f14de3c8d7eEugen Kuksa repository.convert_to_local!
a38bf57c270c2677788657bc8a912f14de3c8d7eEugen Kuksa end
a38bf57c270c2677788657bc8a912f14de3c8d7eEugen Kuksa
a38bf57c270c2677788657bc8a912f14de3c8d7eEugen Kuksa it 'should become a non-mirrored repository' do
a38bf57c270c2677788657bc8a912f14de3c8d7eEugen Kuksa expect(repository.mirror?).to be_falsy
a38bf57c270c2677788657bc8a912f14de3c8d7eEugen Kuksa end
63690d8280c5282c6bd057da5330a6ae8859af35Eugen Kuksa
63690d8280c5282c6bd057da5330a6ae8859af35Eugen Kuksa it 'should become a forked repository' do
63690d8280c5282c6bd057da5330a6ae8859af35Eugen Kuksa expect(repository.fork?).to be_truthy
63690d8280c5282c6bd057da5330a6ae8859af35Eugen Kuksa end
a38bf57c270c2677788657bc8a912f14de3c8d7eEugen Kuksa end
396ba4b002168a7a3dca4f05ac79266b8f26a172Eugen Kuksa end
396ba4b002168a7a3dca4f05ac79266b8f26a172Eugen Kuksa
a38bf57c270c2677788657bc8a912f14de3c8d7eEugen Kuksa context 'forking', :process_jobs_synchronously do
58b5a7a2ccc34f0265e7c4ba777ca17a21658863Eugen Kuksa let!(:repository) { create :repository_with_empty_remote, remote_type: 'fork' }
396ba4b002168a7a3dca4f05ac79266b8f26a172Eugen Kuksa
a38bf57c270c2677788657bc8a912f14de3c8d7eEugen Kuksa it 'should be a non-mirrored repository' do
396ba4b002168a7a3dca4f05ac79266b8f26a172Eugen Kuksa expect(repository.mirror?).to be_falsy
396ba4b002168a7a3dca4f05ac79266b8f26a172Eugen Kuksa end
63690d8280c5282c6bd057da5330a6ae8859af35Eugen Kuksa
63690d8280c5282c6bd057da5330a6ae8859af35Eugen Kuksa it 'should be a forked repository' do
63690d8280c5282c6bd057da5330a6ae8859af35Eugen Kuksa expect(repository.fork?).to be_truthy
63690d8280c5282c6bd057da5330a6ae8859af35Eugen Kuksa end
396ba4b002168a7a3dca4f05ac79266b8f26a172Eugen Kuksa end
8f845e804ef24c045876941e34930a9ac6720dbfEugen Kuksa
8f845e804ef24c045876941e34930a9ac6720dbfEugen Kuksa context 'remote_type' do
8f845e804ef24c045876941e34930a9ac6720dbfEugen Kuksa context 'without source address' do
8f845e804ef24c045876941e34930a9ac6720dbfEugen Kuksa let(:repository) { create :repository, remote_type: 'fork' }
8f845e804ef24c045876941e34930a9ac6720dbfEugen Kuksa it 'should not have a remote type after saving' do
8f845e804ef24c045876941e34930a9ac6720dbfEugen Kuksa expect(repository.remote_type?).to be_falsy
8f845e804ef24c045876941e34930a9ac6720dbfEugen Kuksa end
8f845e804ef24c045876941e34930a9ac6720dbfEugen Kuksa end
8f845e804ef24c045876941e34930a9ac6720dbfEugen Kuksa
8f845e804ef24c045876941e34930a9ac6720dbfEugen Kuksa context 'with source address' do
58b5a7a2ccc34f0265e7c4ba777ca17a21658863Eugen Kuksa let(:repository) { create :repository_with_empty_remote, remote_type: 'fork' }
8f845e804ef24c045876941e34930a9ac6720dbfEugen Kuksa it 'should have a remote type after saving' do
8f845e804ef24c045876941e34930a9ac6720dbfEugen Kuksa expect(repository.remote_type?).to be_truthy
8f845e804ef24c045876941e34930a9ac6720dbfEugen Kuksa end
8f845e804ef24c045876941e34930a9ac6720dbfEugen Kuksa end
8f845e804ef24c045876941e34930a9ac6720dbfEugen Kuksa end
396ba4b002168a7a3dca4f05ac79266b8f26a172Eugen Kuksaend