fix bulk projects update
parent
739b40603f
commit
680d46a40e
|
@ -1,4 +1,4 @@
|
|||
SortProjectsDirective = (projectsService) ->
|
||||
SortProjectsDirective = (currentUserService) ->
|
||||
link = (scope, el, attrs, ctrl) ->
|
||||
itemEl = null
|
||||
|
||||
|
@ -8,6 +8,7 @@ SortProjectsDirective = (projectsService) ->
|
|||
axis: "y"
|
||||
opacity: .95
|
||||
placeholder: 'placeholder'
|
||||
containment: $(".master")
|
||||
})
|
||||
|
||||
el.on "sortstop", (event, ui) ->
|
||||
|
@ -24,7 +25,7 @@ SortProjectsDirective = (projectsService) ->
|
|||
for value, index in sorted_project_ids
|
||||
sortData.push({"project_id": value, "order":index})
|
||||
|
||||
projectsService.bulkUpdateProjectsOrder(sortData)
|
||||
currentUserService.bulkUpdateProjectsOrder(sortData)
|
||||
|
||||
directive = {
|
||||
scope: {
|
|
@ -41,7 +41,6 @@ class ProjectsService extends taiga.Service
|
|||
})
|
||||
|
||||
bulkUpdateProjectsOrder: (sortData) ->
|
||||
@rs.projects.bulkUpdateOrder(sortData).then =>
|
||||
@.fetchProjects()
|
||||
return @rs.projects.bulkUpdateOrder(sortData)
|
||||
|
||||
angular.module("taigaProjects").service("tgProjectsService", ProjectsService)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
describe "tgProjects", ->
|
||||
describe "tgProjectsService", ->
|
||||
projectsService = provide = $rootScope = null
|
||||
$q = null
|
||||
mocks = {}
|
||||
|
@ -79,21 +79,13 @@ describe "tgProjects", ->
|
|||
{"id": 12},
|
||||
]
|
||||
|
||||
thenStub = sinon.stub()
|
||||
|
||||
mocks.resources.projects = {}
|
||||
mocks.resources.projects.bulkUpdateOrder = sinon.stub()
|
||||
mocks.resources.projects.bulkUpdateOrder.withArgs(projects_order).returns({
|
||||
then: thenStub
|
||||
})
|
||||
mocks.resources.projects.bulkUpdateOrder.withArgs(projects_order).returns(true)
|
||||
|
||||
projectsService.fetchProjects = sinon.stub()
|
||||
result = projectsService.bulkUpdateProjectsOrder(projects_order)
|
||||
|
||||
projectsService.bulkUpdateProjectsOrder(projects_order)
|
||||
|
||||
thenStub.callArg(0)
|
||||
|
||||
expect(projectsService.fetchProjects).to.have.been.calledOnce
|
||||
expect(result).to.be.true
|
||||
|
||||
it "getProjectBySlug", () ->
|
||||
projectSlug = "project-slug"
|
||||
|
|
|
@ -29,6 +29,10 @@ class CurrentUserService
|
|||
|
||||
return @._loadUserInfo()
|
||||
|
||||
bulkUpdateProjectsOrder: (sortData) ->
|
||||
@projectsService.bulkUpdateProjectsOrder(sortData).then () =>
|
||||
@._loadProjects()
|
||||
|
||||
_loadProjects: () ->
|
||||
return @projectsService.getProjectsByUserId(@._user.get("id"))
|
||||
.then (projects) =>
|
||||
|
|
|
@ -11,7 +11,8 @@ describe "tgCurrentUserService", ->
|
|||
|
||||
_mockProjectsService = () ->
|
||||
mocks.projectsService = {
|
||||
getProjectsByUserId: sinon.stub().promise()
|
||||
getProjectsByUserId: sinon.stub().promise(),
|
||||
bulkUpdateProjectsOrder: sinon.stub().promise()
|
||||
}
|
||||
|
||||
provide.value "tgProjectsService", mocks.projectsService
|
||||
|
@ -75,3 +76,15 @@ describe "tgCurrentUserService", ->
|
|||
expect(currentUserService.projectsById.get("3").get("name")).to.be.equal("fake3")
|
||||
|
||||
done()
|
||||
|
||||
it "bulkUpdateProjectsOrder and reload projects", (done) ->
|
||||
fakeData = [{id: 1, id: 2}]
|
||||
|
||||
currentUserService._loadProjects = sinon.spy()
|
||||
|
||||
mocks.projectsService.bulkUpdateProjectsOrder.withArgs(fakeData).resolve()
|
||||
|
||||
currentUserService.bulkUpdateProjectsOrder(fakeData).then () ->
|
||||
expect(currentUserService._loadProjects).to.be.callOnce
|
||||
|
||||
done()
|
||||
|
|
Loading…
Reference in New Issue