Adding duty directive tests

stable
Alejandro Alonso 2015-05-05 14:45:44 +02:00 committed by Juanfran
parent 0e4da5b483
commit 5239faab6b
4 changed files with 103 additions and 10 deletions

View File

@ -0,0 +1,79 @@
describe "homeDirective", () ->
scope = compile = provide = null
mockTgProjectsService = null
mockTgNavUrls = null
mockTranslate = null
template = "<div tg-duty='duty'></div>"
createDirective = () ->
elm = compile(template)(scope)
return elm
_mockTgNavUrls = () ->
mockTgNavUrls = {
resolve: sinon.stub()
}
provide.value "$tgNavUrls", mockTgNavUrls
_mockTgProjectsService = () ->
mockTgProjectsService = {
projectsById: {
get: sinon.stub()
}
}
provide.value "tgProjectsService", mockTgProjectsService
_mockTranslate = () ->
mockTranslate = {
instant: sinon.stub()
}
provide.value "$translate", mockTranslate
_mocks = () ->
module ($provide) ->
provide = $provide
_mockTgNavUrls()
_mockTgProjectsService()
_mockTranslate()
return null
beforeEach ->
module "templates"
module "taigaHome"
_mocks()
inject ($rootScope, $compile) ->
scope = $rootScope.$new()
compile = $compile
it "duty directive content", () ->
scope.duty = {
project: 1
ref: 1
_name: "userstories"
subject: "Testing js subject"
status_extra_info: {
color: "#CCCCCC"
}
assigned_to_extra_info: {
photo: "http://jstesting.taiga.io/photo"
full_name_display: "Taiga testing js"
}
}
mockTgProjectsService.projectsById.get
.withArgs("1")
.returns({slug: "project-slug", "name": "testing js project"})
mockTgNavUrls.resolve
.withArgs("project-userstories-detail", {project: "project-slug", ref: 1})
.returns("http://jstesting.taiga.io")
mockTranslate.instant
.withArgs("COMMON.USER_STORY")
.returns("COMMON.USER_STORY")
elm = createDirective()
scope.$apply()
expect(elm.find('.duty-status').css("color")).to.be.equal('rgb(204, 204, 204)')

View File

@ -1,6 +1,5 @@
HomeDirective = (homeService) ->
link = (scope, el, attrs, ctrl) ->
console.log 111111
scope.vm = {}
taiga.defineImmutableProperty(scope.vm, "workInProgress", () -> homeService.workInProgress)

View File

@ -1,7 +1,6 @@
describe "homeDirective", () ->
scope = compile = provide = null
mockTgHomeService = null
template = "<div ng-controller='HomePage' tg-home></div>"
template = "<div tg-home></div>"
createDirective = () ->
elm = compile(template)(scope)
@ -12,26 +11,41 @@ describe "homeDirective", () ->
workInProgress: Immutable.fromJS({
assignedTo: {
userStories: [{"id": 1}]
tasks: []
issues: []
tasks: [{"id": 2}]
issues: [{"id": 3}]
}
watching: {
userStories: []
tasks: []
issues: []
userStories: [{"id": 4}]
tasks: [{"id": 5}]
issues: [{"id": 6}]
}
})
}
provide.value "tgHomeService", mockTgHomeService
_mockTranslateFilter = () ->
mockTranslateFilter = (value) ->
return value
provide.value "translateFilter", mockTranslateFilter
_mockTgDuty = () ->
provide.factory 'tgDutyDirective', () -> {}
_mockHomeProjectList = () ->
provide.factory 'tgHomeProjectListDirective', () -> {}
_mocks = () ->
module ($provide) ->
provide = $provide
_mockTgDuty()
_mockHomeProjectList()
_mockTgHomeService()
_mockTranslateFilter()
return null
beforeEach ->
module "templates"
module "taigaHome"
_mocks()
@ -42,4 +56,5 @@ describe "homeDirective", () ->
it "home directive content", () ->
elm = createDirective()
console.log 111, elm, elm.find('div')
scope.$apply()
expect(elm.find('.duty-single')).to.have.length(6)

View File

@ -5,7 +5,7 @@ div.home-wrapper.centered
div.duty-summary
div.title-bar.working-on-title(ng-show="vm.assignedTo.size", translate="HOME.WORKING_ON_SECTION")
section.working-on(ng-show="vm.assignedTo.size")
div.duty-single(tg-duty="duty", tg-repeat="duty in vm.assignedTo", ng-class="{blocked: duty.is_blocked}")
div.duty-single(tg-duty="duty", ng-repeat="duty in vm.assignedTo", ng-class="{blocked: duty.is_blocked}")
div.title-bar.watching-title(translate="HOME.WATCHING_SECTION")