Adding tests
parent
70aa783729
commit
963754301f
|
@ -3,7 +3,6 @@ class FeedbackService extends taiga.Service
|
|||
|
||||
constructor: (@lightboxFactory) ->
|
||||
|
||||
|
||||
sendFeedback: ->
|
||||
@lightboxFactory.create("tg-lb-feedback", {
|
||||
"class": "lightbox lightbox-feedback lightbox-generic-form"
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
describe "tgFeedbackService", ->
|
||||
feedbackService = provide = null
|
||||
mocks = {}
|
||||
|
||||
_mockTgLightboxFactory = () ->
|
||||
mocks.tgLightboxFactory = {
|
||||
create: sinon.stub()
|
||||
}
|
||||
|
||||
provide.value "tgLightboxFactory", mocks.tgLightboxFactory
|
||||
|
||||
_inject = (callback) ->
|
||||
inject (_tgFeedbackService_) ->
|
||||
feedbackService = _tgFeedbackService_
|
||||
callback() if callback
|
||||
|
||||
_mocks = () ->
|
||||
module ($provide) ->
|
||||
provide = $provide
|
||||
_mockTgLightboxFactory()
|
||||
return null
|
||||
|
||||
_setup = ->
|
||||
_mocks()
|
||||
|
||||
beforeEach ->
|
||||
module "taigaFeedback"
|
||||
_setup()
|
||||
_inject()
|
||||
|
||||
it "work in progress filled", () ->
|
||||
expect(mocks.tgLightboxFactory.create.callCount).to.be.equal(0)
|
||||
feedbackService.sendFeedback()
|
||||
expect(mocks.tgLightboxFactory.create.callCount).to.be.equal(1)
|
||||
params = {
|
||||
"class": "lightbox lightbox-feedback lightbox-generic-form"
|
||||
}
|
||||
expect(mocks.tgLightboxFactory.create.calledWith("tg-lb-feedback", params)).to.be.true()
|
|
@ -1,4 +1,4 @@
|
|||
describe "homeDirective", () ->
|
||||
describe "dutyDirective", () ->
|
||||
scope = compile = provide = null
|
||||
mockTgProjectsService = null
|
||||
mockTgNavUrls = null
|
||||
|
@ -47,7 +47,7 @@ describe "homeDirective", () ->
|
|||
scope = $rootScope.$new()
|
||||
compile = $compile
|
||||
|
||||
it "duty directive content", () ->
|
||||
it "duty directive scope content", () ->
|
||||
scope.duty = {
|
||||
project: 1
|
||||
ref: 1
|
||||
|
|
|
@ -0,0 +1,65 @@
|
|||
describe "homeProjectListDirective", () ->
|
||||
scope = compile = provide = null
|
||||
mockTgProjectsService = null
|
||||
template = "<div tg-home-project-list></div>"
|
||||
recents = []
|
||||
|
||||
createDirective = () ->
|
||||
elm = compile(template)(scope)
|
||||
return elm
|
||||
|
||||
_mockTgProjectsService = () ->
|
||||
mockTgProjectsService = {
|
||||
newProject: sinon.stub()
|
||||
projects: {
|
||||
get: sinon.stub()
|
||||
}
|
||||
}
|
||||
provide.value "tgProjectsService", mockTgProjectsService
|
||||
|
||||
_mockTranslateFilter = () ->
|
||||
mockTranslateFilter = (value) ->
|
||||
return value
|
||||
provide.value "translateFilter", mockTranslateFilter
|
||||
|
||||
_mocks = () ->
|
||||
module ($provide) ->
|
||||
provide = $provide
|
||||
_mockTgProjectsService()
|
||||
_mockTranslateFilter()
|
||||
return null
|
||||
|
||||
beforeEach ->
|
||||
module "templates"
|
||||
module "taigaHome"
|
||||
|
||||
_mocks()
|
||||
|
||||
inject ($rootScope, $compile) ->
|
||||
scope = $rootScope.$new()
|
||||
compile = $compile
|
||||
|
||||
recents = Immutable.fromJS([
|
||||
{
|
||||
id:1
|
||||
},
|
||||
{
|
||||
id: 2
|
||||
}
|
||||
])
|
||||
|
||||
it "home project list directive scope content", () ->
|
||||
mockTgProjectsService.projects.get
|
||||
.withArgs("recents")
|
||||
.returns(recents)
|
||||
|
||||
elm = createDirective()
|
||||
scope.$apply()
|
||||
expect(elm.isolateScope().vm.projects.size).to.be.equal(2)
|
||||
|
||||
it "home project list directive newProject", () ->
|
||||
elm = createDirective()
|
||||
scope.$apply()
|
||||
expect(mockTgProjectsService.newProject.callCount).to.be.equal(0)
|
||||
elm.isolateScope().vm.newProject()
|
||||
expect(mockTgProjectsService.newProject.callCount).to.be.equal(1)
|
|
@ -0,0 +1,58 @@
|
|||
describe "dropdownProjectListDirective", () ->
|
||||
scope = compile = provide = null
|
||||
mockTgProjectsService = null
|
||||
template = "<div tg-dropdown-project-list></div>"
|
||||
recents = []
|
||||
|
||||
createDirective = () ->
|
||||
elm = compile(template)(scope)
|
||||
return elm
|
||||
|
||||
_mockTgProjectsService = () ->
|
||||
mockTgProjectsService = {
|
||||
newProject: sinon.stub()
|
||||
projects: {
|
||||
get: sinon.stub()
|
||||
}
|
||||
}
|
||||
provide.value "tgProjectsService", mockTgProjectsService
|
||||
|
||||
_mockTranslateFilter = () ->
|
||||
mockTranslateFilter = (value) ->
|
||||
return value
|
||||
provide.value "translateFilter", mockTranslateFilter
|
||||
|
||||
_mocks = () ->
|
||||
module ($provide) ->
|
||||
provide = $provide
|
||||
_mockTgProjectsService()
|
||||
_mockTranslateFilter()
|
||||
return null
|
||||
|
||||
beforeEach ->
|
||||
module "templates"
|
||||
module "taigaNavigationBar"
|
||||
|
||||
_mocks()
|
||||
|
||||
inject ($rootScope, $compile) ->
|
||||
scope = $rootScope.$new()
|
||||
compile = $compile
|
||||
|
||||
recents = Immutable.fromJS([
|
||||
{
|
||||
id:1
|
||||
},
|
||||
{
|
||||
id: 2
|
||||
}
|
||||
])
|
||||
|
||||
it "dropdown project list directive scope content", () ->
|
||||
mockTgProjectsService.projects.get
|
||||
.withArgs("recents")
|
||||
.returns(recents)
|
||||
|
||||
elm = createDirective()
|
||||
scope.$apply()
|
||||
expect(elm.isolateScope().vm.projects.size).to.be.equal(2)
|
|
@ -0,0 +1,99 @@
|
|||
describe "dropdownUserDirective", () ->
|
||||
scope = compile = provide = null
|
||||
mockTgAuth = null
|
||||
mockTgConfig = null
|
||||
mockTgLocation = null
|
||||
mockTgNavUrls = null
|
||||
mockTgFeedbackService = null
|
||||
template = "<div tg-dropdown-user></div>"
|
||||
|
||||
createDirective = () ->
|
||||
elm = compile(template)(scope)
|
||||
return elm
|
||||
|
||||
_mockTranslateFilter = () ->
|
||||
mockTranslateFilter = (value) ->
|
||||
return value
|
||||
provide.value "translateFilter", mockTranslateFilter
|
||||
|
||||
_mockTgAuth = () ->
|
||||
mockTgAuth = {
|
||||
getUser: sinon.stub()
|
||||
logout: sinon.stub()
|
||||
}
|
||||
provide.value "$tgAuth", mockTgAuth
|
||||
|
||||
_mockTgConfig = () ->
|
||||
mockTgConfig = {
|
||||
get: sinon.stub()
|
||||
}
|
||||
provide.value "$tgConfig", mockTgConfig
|
||||
|
||||
_mockTgLocation = () ->
|
||||
mockTgLocation = {
|
||||
path: sinon.stub()
|
||||
}
|
||||
provide.value "$tgLocation", mockTgLocation
|
||||
|
||||
_mockTgNavUrls = () ->
|
||||
mockTgNavUrls = {
|
||||
resolve: sinon.stub()
|
||||
}
|
||||
provide.value "$tgNavUrls", mockTgNavUrls
|
||||
|
||||
_mockTgFeedbackService = () ->
|
||||
mockTgFeedbackService = {
|
||||
sendFeedback: sinon.stub()
|
||||
}
|
||||
provide.value "tgFeedbackService", mockTgFeedbackService
|
||||
|
||||
_mocks = () ->
|
||||
module ($provide) ->
|
||||
provide = $provide
|
||||
_mockTranslateFilter()
|
||||
_mockTgAuth()
|
||||
_mockTgConfig()
|
||||
_mockTgLocation()
|
||||
_mockTgNavUrls()
|
||||
_mockTgFeedbackService()
|
||||
return null
|
||||
|
||||
beforeEach ->
|
||||
module "templates"
|
||||
module "taigaNavigationBar"
|
||||
|
||||
_mocks()
|
||||
|
||||
inject ($rootScope, $compile) ->
|
||||
scope = $rootScope.$new()
|
||||
compile = $compile
|
||||
|
||||
it "dropdown user directive scope content", () ->
|
||||
mockTgAuth.getUser.withArgs().returns({id: 66})
|
||||
mockTgConfig.get.withArgs("feedbackEnabled").returns(true)
|
||||
elm = createDirective()
|
||||
scope.$apply()
|
||||
|
||||
vm = elm.isolateScope().vm
|
||||
expect(vm.user.id).to.be.equal(66)
|
||||
expect(vm.isFeedbackEnabled).to.be.equal(true)
|
||||
|
||||
it "dropdown user log out", () ->
|
||||
mockTgNavUrls.resolve.withArgs("login").returns("/login")
|
||||
elm = createDirective()
|
||||
scope.$apply()
|
||||
vm = elm.isolateScope().vm
|
||||
expect(mockTgAuth.logout.callCount).to.be.equal(0)
|
||||
expect(mockTgLocation.path.callCount).to.be.equal(0)
|
||||
vm.logout()
|
||||
expect(mockTgAuth.logout.callCount).to.be.equal(1)
|
||||
expect(mockTgLocation.path.callCount).to.be.equal(1)
|
||||
expect(mockTgLocation.path.calledWith("/login")).to.be.true()
|
||||
|
||||
it "dropdown user send feedback", () ->
|
||||
elm = createDirective()
|
||||
scope.$apply()
|
||||
vm = elm.isolateScope().vm
|
||||
expect(mockTgFeedbackService.sendFeedback.callCount).to.be.equal(0)
|
||||
vm.sendFeedback()
|
||||
expect(mockTgFeedbackService.sendFeedback.callCount).to.be.equal(1)
|
|
@ -0,0 +1,66 @@
|
|||
describe "navigationBarDirective", () ->
|
||||
scope = compile = provide = null
|
||||
mockTgProjectsService = null
|
||||
template = "<div tg-navigation-bar></div>"
|
||||
recents = []
|
||||
|
||||
createDirective = () ->
|
||||
elm = compile(template)(scope)
|
||||
return elm
|
||||
|
||||
_mockTgProjectsService = () ->
|
||||
mockTgProjectsService = {
|
||||
newProject: sinon.stub()
|
||||
projects: {
|
||||
get: sinon.stub()
|
||||
}
|
||||
}
|
||||
provide.value "tgProjectsService", mockTgProjectsService
|
||||
|
||||
_mockTranslateFilter = () ->
|
||||
mockTranslateFilter = (value) ->
|
||||
return value
|
||||
provide.value "translateFilter", mockTranslateFilter
|
||||
|
||||
_mockTgDropdownProjectListDirective = () ->
|
||||
provide.factory 'tgDropdownProjectListDirective', () -> {}
|
||||
|
||||
_mockTgDropdownUserDirective = () ->
|
||||
provide.factory 'tgDropdownUserDirective', () -> {}
|
||||
|
||||
_mocks = () ->
|
||||
module ($provide) ->
|
||||
provide = $provide
|
||||
_mockTgProjectsService()
|
||||
_mockTranslateFilter()
|
||||
_mockTgDropdownProjectListDirective()
|
||||
_mockTgDropdownUserDirective()
|
||||
return null
|
||||
|
||||
beforeEach ->
|
||||
module "templates"
|
||||
module "taigaNavigationBar"
|
||||
|
||||
_mocks()
|
||||
|
||||
inject ($rootScope, $compile) ->
|
||||
scope = $rootScope.$new()
|
||||
compile = $compile
|
||||
|
||||
recents = Immutable.fromJS([
|
||||
{
|
||||
id:1
|
||||
},
|
||||
{
|
||||
id: 2
|
||||
}
|
||||
])
|
||||
|
||||
it "navigation bar directive scope content", () ->
|
||||
mockTgProjectsService.projects.get
|
||||
.withArgs("recents")
|
||||
.returns(recents)
|
||||
|
||||
elm = createDirective()
|
||||
scope.$apply()
|
||||
expect(elm.isolateScope().vm.projects.size).to.be.equal(2)
|
|
@ -24,9 +24,6 @@ class ProjectsService extends taiga.Service
|
|||
_.map projects, (project) =>
|
||||
project.url = @projectUrl.get(project)
|
||||
|
||||
|
||||
console.log project.memberships
|
||||
|
||||
project.colorized_tags = []
|
||||
|
||||
if project.tags
|
||||
|
|
Loading…
Reference in New Issue