travis-web/assets/scripts/spec/integration/build_spec.coffee
Piotr Sarnacki 615edb5686 Fix specs
For some reason mocked ajax queries don't fire when build page is opened
directly in specs. I don't want to go into detail at this point, because
I plan rewriting build/job related views and controllers to decouple
repo controller anyway, which should fix some of the oddities.
2014-08-14 18:45:06 +02:00

97 lines
3.2 KiB
CoffeeScript

module "Build page",
setup: ->
Ember.run -> Travis.advanceReadiness()
teardown: ->
Ember.run -> Travis.reset()
test "displaying information on build page", ->
visit('/travis-ci/travis-core/builds').then ->
visit('/travis-ci/travis-core/builds/1').then ->
listsRepos [
{ slug: 'travis-ci/travis-hub', build: { number: 4, url: '/travis-ci/travis-hub/builds/4', duration: '1 min', finishedAt: '-' } }
{ slug: 'travis-ci/travis-core', build: { number: 1, url: '/travis-ci/travis-core/builds/1', duration: '30 sec', finishedAt: '3 minutes ago' } }
{ slug: 'travis-ci/travis-assets', build: { number: 3, url: '/travis-ci/travis-assets/builds/3', duration: '30 sec', finishedAt: 'a day ago' } }
]
displaysRepository
href: '/travis-ci/travis-core'
displaysSummary
type: 'build'
id: 1
repo: 'travis-ci/travis-core'
commit: '1234567'
branch: 'master'
compare: '0123456..1234567'
finishedAt: '3 minutes ago'
duration: '30 sec'
message: 'commit message 1'
displaysSummaryGravatars
authorEmail: 'author@email.com'
committerEmail: 'committer@email.com'
displaysTabs
current: { href: '/travis-ci/travis-core' }
builds: { href: '/travis-ci/travis-core/builds' }
build: { href: '/travis-ci/travis-core/builds/1', active: true }
job: { hidden: true }
listsJobs
table: '#jobs'
headers: ['Job', 'Duration', 'Finished', 'Ruby']
jobs: [
{ color: 'green', id: 1, number: '1.1', repo: 'travis-ci/travis-core', finishedAt: '3 minutes ago', duration: '30 sec', rvm: 'rbx' }
{ color: 'red', id: 2, number: '1.2', repo: 'travis-ci/travis-core', finishedAt: '2 minutes ago', duration: '40 sec', rvm: '1.9.3' }
]
listsJobs
table: '#allowed_failure_jobs'
headers: ['Job', 'Duration', 'Finished', 'Ruby']
jobs: [
{ color: '', id: 3, number: '1.3', repo: 'travis-ci/travis-core', finishedAt: '-', duration: '-', rvm: 'jruby' }
]
test "updating current build", ->
visit('/travis-ci/travis-core').then ->
payload =
build:
id: 11
repository_id: 1
commit_id: 1
number: '3'
duration: 55
started_at: '2012-07-02T00:02:00Z'
finished_at: '2012-07-02T00:02:55Z'
event_type: 'push'
result: 1
message: 'commit message 3'
commit: 'foo1234'
branch: 'master'
state: 'started'
config: {}
pull_request: false
compare_url: 'https://github.com/compare/0123456..1234567'
repository:
id: 1
last_build_number: '3'
last_build_id: 11
Em.run ->
Travis.receive 'build:started', payload
wait().then ->
displaysSummaryBuildLink '/travis-ci/travis-core/builds/11', '3'
displaysSummary
type: 'build'
id: 11
repo: 'travis-ci/travis-core'
commit: 'foo1234'
branch: 'master'
compare: '0123456..1234567'
finishedAt: 'less than a minute ago'
duration: '55 sec'
message: 'commit message 3'