fix user-timeline tests

stable
Juanfran 2015-06-18 12:20:49 +02:00
parent 06957a1544
commit ccec9e79b1
4 changed files with 62 additions and 63 deletions

View File

@ -1,5 +1,7 @@
UserTimelinePaginationSequence = () -> UserTimelinePaginationSequence = () ->
return (config) -> obj = {}
obj.generate = (config) ->
page = 1 page = 1
items = Immutable.List() items = Immutable.List()
@ -32,4 +34,6 @@ UserTimelinePaginationSequence = () ->
next: () -> next() next: () -> next()
} }
return obj
angular.module("taigaUserTimeline").factory("tgUserTimelinePaginationSequenceService", UserTimelinePaginationSequence) angular.module("taigaUserTimeline").factory("tgUserTimelinePaginationSequenceService", UserTimelinePaginationSequence)

View File

@ -35,7 +35,7 @@ describe "tgUserTimelinePaginationSequenceService", ->
config.minItems = 10 config.minItems = 10
seq = userTimelinePaginationSequenceService(config) seq = userTimelinePaginationSequenceService.generate(config)
seq.next().then (result) -> seq.next().then (result) ->
result = result.toJS() result = result.toJS()
@ -66,7 +66,7 @@ describe "tgUserTimelinePaginationSequenceService", ->
config.minItems = 10 config.minItems = 10
seq = userTimelinePaginationSequenceService(config) seq = userTimelinePaginationSequenceService.generate(config)
seq.next().then (result) -> seq.next().then (result) ->
result = result.toJS() result = result.toJS()
@ -97,7 +97,7 @@ describe "tgUserTimelinePaginationSequenceService", ->
config.minItems = 2 config.minItems = 2
seq = userTimelinePaginationSequenceService(config) seq = userTimelinePaginationSequenceService.generate(config)
seq.next().then () -> seq.next().then () ->
seq.next().then (result) -> seq.next().then (result) ->

View File

@ -70,7 +70,7 @@ class UserTimelineService extends taiga.Service
return _.some @._invalid, (invalid) => return _.some @._invalid, (invalid) =>
return invalid.check.call(this, timeline) return invalid.check.call(this, timeline)
getProfileTimeline: (userId, page) -> getProfileTimeline: (userId) ->
config = {} config = {}
config.fetch = (page) => config.fetch = (page) =>
@ -79,7 +79,7 @@ class UserTimelineService extends taiga.Service
config.filter = (items) => config.filter = (items) =>
return items.filterNot (item) => @._isInValidTimeline(item) return items.filterNot (item) => @._isInValidTimeline(item)
return @userTimelinePaginationSequenceService(config) return @userTimelinePaginationSequenceService.generate(config)
getUserTimeline: (userId) -> getUserTimeline: (userId) ->
config = {} config = {}
@ -90,7 +90,7 @@ class UserTimelineService extends taiga.Service
config.filter = (items) => config.filter = (items) =>
return items.filterNot (item) => @._isInValidTimeline(item) return items.filterNot (item) => @._isInValidTimeline(item)
return @userTimelinePaginationSequenceService(config) return @userTimelinePaginationSequenceService.generate(config)
getProjectTimeline: (projectId) -> getProjectTimeline: (projectId) ->
config = {} config = {}
@ -101,6 +101,6 @@ class UserTimelineService extends taiga.Service
config.filter = (items) => config.filter = (items) =>
return items.filterNot (item) => @._isInValidTimeline(item) return items.filterNot (item) => @._isInValidTimeline(item)
return @userTimelinePaginationSequenceService(config) return @userTimelinePaginationSequenceService.generate(config)
angular.module("taigaUserTimeline").service("tgUserTimelineService", UserTimelineService) angular.module("taigaUserTimeline").service("tgUserTimelineService", UserTimelineService)

View File

@ -1,7 +1,5 @@
describe.skip "tgUserTimelineService", -> describe "tgUserTimelineService", ->
provide = null provide = null
$q = null
$rootScope = null
userTimelineService = null userTimelineService = null
mocks = {} mocks = {}
@ -26,6 +24,7 @@ describe.skip "tgUserTimelineService", ->
_mocks = () -> _mocks = () ->
module ($provide) -> module ($provide) ->
provide = $provide provide = $provide
_mockResources()
_mockUserTimelinePaginationSequence() _mockUserTimelinePaginationSequence()
return null return null
@ -34,10 +33,8 @@ describe.skip "tgUserTimelineService", ->
_mocks() _mocks()
_inject = (callback) -> _inject = (callback) ->
inject (_tgUserTimelineService_, _$q_, _$rootScope_) -> inject (_tgUserTimelineService_) ->
userTimelineService = _tgUserTimelineService_ userTimelineService = _tgUserTimelineService_
$q = _$q_
$rootScope = _$rootScope_
callback() if callback callback() if callback
beforeEach -> beforeEach ->
@ -146,79 +143,77 @@ describe.skip "tgUserTimelineService", ->
} }
] ]
it "filter invalid profile timeline items", (done) -> it "filter invalid profile timeline items", () ->
userId = 3 userId = 3
page = 2 page = 2
mocks.resources.users.getProfileTimeline = (_userId_, _page_) -> mocks.resources.users.getProfileTimeline = (_userId_) ->
expect(_userId_).to.be.equal(userId) expect(_userId_).to.be.equal(userId)
expect(_page_).to.be.equal(page)
return $q (resolve, reject) -> return Immutable.fromJS(valid_items)
resolve(Immutable.fromJS(valid_items))
mocks.userTimelinePaginationSequence.generate = (config) ->
all = config.fetch()
expect(all.size).to.be.equal(11)
.then (_items_) -> items = config.filter(all).toJS()
items = _items_.toJS() expect(items).to.have.length(4)
expect(items[0]).to.be.eql(valid_items[0])
expect(items[1]).to.be.eql(valid_items[3])
expect(items[2]).to.be.eql(valid_items[5])
expect(items[3]).to.be.eql(valid_items[9])
expect(items).to.have.length(4) return true
expect(items[0]).to.be.eql(valid_items[0])
expect(items[1]).to.be.eql(valid_items[3])
expect(items[2]).to.be.eql(valid_items[5])
expect(items[3]).to.be.eql(valid_items[9])
done()
result = userTimelineService.getProfileTimeline(userId) result = userTimelineService.getProfileTimeline(userId)
expect(result).to.be.true
mocks.userTimelinePaginationSequence.withArgs() it "filter invalid user timeline items", () ->
it "filter invalid user timeline items", (done) ->
userId = 3 userId = 3
page = 2 page = 2
mocks.resources.users.getUserTimeline = (_userId_, _page_) -> mocks.resources.users.getUserTimeline = (_userId_) ->
expect(_userId_).to.be.equal(userId) expect(_userId_).to.be.equal(userId)
expect(_page_).to.be.equal(page)
return $q (resolve, reject) -> return Immutable.fromJS(valid_items)
resolve(Immutable.fromJS(valid_items))
userTimelineService.getUserTimeline(userId, page) mocks.userTimelinePaginationSequence.generate = (config) ->
.then (_items_) -> all = config.fetch()
items = _items_.toJS() expect(all.size).to.be.equal(11)
expect(items).to.have.length(4) items = config.filter(all).toJS()
expect(items[0]).to.be.eql(valid_items[0]) expect(items).to.have.length(4)
expect(items[1]).to.be.eql(valid_items[3]) expect(items[0]).to.be.eql(valid_items[0])
expect(items[2]).to.be.eql(valid_items[5]) expect(items[1]).to.be.eql(valid_items[3])
expect(items[3]).to.be.eql(valid_items[9]) expect(items[2]).to.be.eql(valid_items[5])
expect(items[3]).to.be.eql(valid_items[9])
done() return true
$rootScope.$apply() result = userTimelineService.getUserTimeline(userId)
expect(result).to.be.true
it "filter invalid project timeline items", (done) -> it "filter invalid user timeline items", () ->
projectId = 3 userId = 3
page = 2 page = 2
mocks.resources.projects.getTimeline = (_projectId_, _page_) -> mocks.resources.projects.getTimeline = (_userId_) ->
expect(_projectId_).to.be.equal(projectId) expect(_userId_).to.be.equal(userId)
expect(_page_).to.be.equal(page)
return $q (resolve, reject) -> return Immutable.fromJS(valid_items)
resolve(Immutable.fromJS(valid_items))
userTimelineService.getProjectTimeline(projectId, page) mocks.userTimelinePaginationSequence.generate = (config) ->
.then (_items_) -> all = config.fetch()
items = _items_.toJS() expect(all.size).to.be.equal(11)
expect(items).to.have.length(4) items = config.filter(all).toJS()
expect(items[0]).to.be.eql(valid_items[0]) expect(items).to.have.length(4)
expect(items[1]).to.be.eql(valid_items[3]) expect(items[0]).to.be.eql(valid_items[0])
expect(items[2]).to.be.eql(valid_items[5]) expect(items[1]).to.be.eql(valid_items[3])
expect(items[3]).to.be.eql(valid_items[9]) expect(items[2]).to.be.eql(valid_items[5])
done() expect(items[3]).to.be.eql(valid_items[9])
$rootScope.$apply() return true
result = userTimelineService.getProjectTimeline(userId)
expect(result).to.be.true