Commit 39ec5d1a97040fdfa952a67917db082ad0d4885d
1 parent
8420f609
Exists in
colab
and in
4 other branches
Continued implementation of repository branch javascript tests
Also added a new gem for javascript mocks Signed-off-by: Daniel Miranda <danielkza2@gmail.com>
Showing
3 changed files
with
33 additions
and
7 deletions
Show diff stats
Gemfile
| @@ -113,6 +113,9 @@ group :development, :test do | @@ -113,6 +113,9 @@ group :development, :test do | ||
| 113 | gem 'i18n_generators' | 113 | gem 'i18n_generators' |
| 114 | 114 | ||
| 115 | gem 'sprockets', '~>2.12.3' # spckets 3.0.3 breaks konacha | 115 | gem 'sprockets', '~>2.12.3' # spckets 3.0.3 breaks konacha |
| 116 | + | ||
| 117 | + # Mocks and stubs for javascript tests | ||
| 118 | + gem 'sinon-rails' | ||
| 116 | end | 119 | end |
| 117 | 120 | ||
| 118 | # Acceptance tests | 121 | # Acceptance tests |
Gemfile.lock
| @@ -283,6 +283,8 @@ GEM | @@ -283,6 +283,8 @@ GEM | ||
| 283 | json (~> 1.8) | 283 | json (~> 1.8) |
| 284 | simplecov-html (~> 0.10.0) | 284 | simplecov-html (~> 0.10.0) |
| 285 | simplecov-html (0.10.0) | 285 | simplecov-html (0.10.0) |
| 286 | + sinon-rails (1.10.3) | ||
| 287 | + railties (>= 3.1) | ||
| 286 | spring (1.3.6) | 288 | spring (1.3.6) |
| 287 | sprockets (2.12.3) | 289 | sprockets (2.12.3) |
| 288 | hike (~> 1.2) | 290 | hike (~> 1.2) |
| @@ -367,6 +369,7 @@ DEPENDENCIES | @@ -367,6 +369,7 @@ DEPENDENCIES | ||
| 367 | sdoc (~> 0.4.0) | 369 | sdoc (~> 0.4.0) |
| 368 | shoulda-matchers (~> 2.8.0) | 370 | shoulda-matchers (~> 2.8.0) |
| 369 | simplecov | 371 | simplecov |
| 372 | + sinon-rails | ||
| 370 | spring | 373 | spring |
| 371 | sprockets (~> 2.12.3) | 374 | sprockets (~> 2.12.3) |
| 372 | sqlite3 | 375 | sqlite3 |
spec/javascripts/repository/branch_spec.js.coffee
| 1 | #= require application | 1 | #= require application |
| 2 | +#= require 'sinon' | ||
| 2 | 3 | ||
| 3 | -describe "Repository.Branch", -> | ||
| 4 | - beforeEach -> | ||
| 5 | - @repository_branch = new Repository.Branch() | 4 | +describe "Branch#constructor", -> |
| 5 | + it "should construct a branch", -> | ||
| 6 | + subject = new Repository.Branch() | ||
| 7 | + subject.names.should.deep.equal({}) | ||
| 8 | + assert.isNull(subject.request) | ||
| 6 | 9 | ||
| 7 | - describe "Branch#constructor", -> | ||
| 8 | - it "should construct a branch", -> | ||
| 9 | - @repository_branch.names.should.deep.equal({}) | ||
| 10 | - assert.isNull(@repository_branch.request) | 10 | +describe "toggle", -> |
| 11 | + @subject = new Repository.Branch() | ||
| 12 | + beforeEach -> | ||
| 13 | + @combo_box = sinon.stub() | ||
| 14 | + $ = sinon.stub(window, "$") | ||
| 15 | + $.withArgs("#branches").returns(@combo_box) | ||
| 16 | + context "scm_type = SVN", -> | ||
| 17 | + @combo_box.hide = sinon.spy() | ||
| 18 | + it "should hide the branches combo box", -> | ||
| 19 | + $.withArgs("#repository_scm_type").returns({val: -> "SVN"}) | ||
| 20 | + @subject.toggle() | ||
| 21 | + assert.isTrue(@combo_box.hide.calledOnce) | ||
| 22 | + context "scm_type != SVN", -> | ||
| 23 | + @combo_box.show = sinon.spy() | ||
| 24 | + $.withArgs("#repository_address").returns({val: -> "https://github.com/mezuro/prezento.git"}) | ||
| 25 | + sinon.stub(@subject, "fetch").withArgs("https://github.com/mezuro/prezento.git") | ||
| 26 | + @subject.stub = sinon.spy() | ||
| 27 | + it "should show the branches combo box", -> | ||
| 28 | + $.withArgs("#repository_scm_type").returns({val: -> "GIT"}) | ||
| 29 | + @subject.toggle() | ||
| 30 | + assert.isTrue(@combo_box.show.calledOnce) |