diff options
Diffstat (limited to 'spec/models/packages/go/module_version_spec.rb')
-rw-r--r-- | spec/models/packages/go/module_version_spec.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/spec/models/packages/go/module_version_spec.rb b/spec/models/packages/go/module_version_spec.rb index 7fa416d8537..cace2160878 100644 --- a/spec/models/packages/go/module_version_spec.rb +++ b/spec/models/packages/go/module_version_spec.rb @@ -32,16 +32,19 @@ RSpec.describe Packages::Go::ModuleVersion, type: :model do describe '#name' do context 'with ref and name specified' do let_it_be(:version) { create :go_module_version, mod: mod, name: 'foobar', commit: project.repository.head_commit, ref: project.repository.find_tag('v1.0.0') } + it('returns that name') { expect(version.name).to eq('foobar') } end context 'with ref specified and name unspecified' do let_it_be(:version) { create :go_module_version, mod: mod, commit: project.repository.head_commit, ref: project.repository.find_tag('v1.0.0') } + it('returns the name of the ref') { expect(version.name).to eq('v1.0.0') } end context 'with ref and name unspecified' do let_it_be(:version) { create :go_module_version, mod: mod, commit: project.repository.head_commit } + it('returns nil') { expect(version.name).to eq(nil) } end end @@ -49,11 +52,13 @@ RSpec.describe Packages::Go::ModuleVersion, type: :model do describe '#gomod' do context 'with go.mod missing' do let_it_be(:version) { create :go_module_version, :tagged, mod: mod, name: 'v1.0.0' } + it('returns nil') { expect(version.gomod).to eq(nil) } end context 'with go.mod present' do let_it_be(:version) { create :go_module_version, :tagged, mod: mod, name: 'v1.0.1' } + it('returns the contents of go.mod') { expect(version.gomod).to eq("module #{mod.name}\n") } end end @@ -62,6 +67,7 @@ RSpec.describe Packages::Go::ModuleVersion, type: :model do context 'with a root module' do context 'with an empty module path' do let_it_be(:version) { create :go_module_version, :tagged, mod: mod, name: 'v1.0.2' } + it_behaves_like '#files', 'all the files', 'README.md', 'go.mod', 'a.go', 'pkg/b.go' end end @@ -69,12 +75,14 @@ RSpec.describe Packages::Go::ModuleVersion, type: :model do context 'with a root module and a submodule' do context 'with an empty module path' do let_it_be(:version) { create :go_module_version, :tagged, mod: mod, name: 'v1.0.3' } + it_behaves_like '#files', 'files excluding the submodule', 'README.md', 'go.mod', 'a.go', 'pkg/b.go' end context 'with the submodule\'s path' do let_it_be(:mod) { create :go_module, project: project, path: 'mod' } let_it_be(:version) { create :go_module_version, :tagged, mod: mod, name: 'v1.0.3' } + it_behaves_like '#files', 'the submodule\'s files', 'mod/go.mod', 'mod/a.go' end end @@ -84,6 +92,7 @@ RSpec.describe Packages::Go::ModuleVersion, type: :model do context 'with a root module' do context 'with an empty module path' do let_it_be(:version) { create :go_module_version, :tagged, mod: mod, name: 'v1.0.2' } + it_behaves_like '#archive', 'all the files', 'README.md', 'go.mod', 'a.go', 'pkg/b.go' end end @@ -91,12 +100,14 @@ RSpec.describe Packages::Go::ModuleVersion, type: :model do context 'with a root module and a submodule' do context 'with an empty module path' do let_it_be(:version) { create :go_module_version, :tagged, mod: mod, name: 'v1.0.3' } + it_behaves_like '#archive', 'files excluding the submodule', 'README.md', 'go.mod', 'a.go', 'pkg/b.go' end context 'with the submodule\'s path' do let_it_be(:mod) { create :go_module, project: project, path: 'mod' } let_it_be(:version) { create :go_module_version, :tagged, mod: mod, name: 'v1.0.3' } + it_behaves_like '#archive', 'the submodule\'s files', 'go.mod', 'a.go' end end |