404 in non-active users
parent
f2cfbdf627
commit
0da0886a20
|
@ -15,11 +15,16 @@ class ProfileController
|
||||||
@userService
|
@userService
|
||||||
.getUserByUserName(@routeParams.slug)
|
.getUserByUserName(@routeParams.slug)
|
||||||
.then (user) =>
|
.then (user) =>
|
||||||
@.user = user
|
if !user.get('is_active')
|
||||||
@.isCurrentUser = false
|
@xhrError.notFound()
|
||||||
@._setMeta(@.user)
|
else
|
||||||
|
@.user = user
|
||||||
|
@.isCurrentUser = false
|
||||||
|
@._setMeta(@.user)
|
||||||
|
|
||||||
|
return user
|
||||||
.catch (xhr) =>
|
.catch (xhr) =>
|
||||||
@xhrError.response(xhr)
|
return @xhrError.response(xhr)
|
||||||
|
|
||||||
else
|
else
|
||||||
@.user = @currentUserService.getUser()
|
@.user = @currentUserService.getUser()
|
||||||
|
|
|
@ -43,7 +43,8 @@ describe "ProfileController", ->
|
||||||
|
|
||||||
_mockXhrErrorService = () ->
|
_mockXhrErrorService = () ->
|
||||||
mocks.xhrErrorService = {
|
mocks.xhrErrorService = {
|
||||||
response: sinon.spy()
|
response: sinon.spy(),
|
||||||
|
notFound: sinon.spy()
|
||||||
}
|
}
|
||||||
|
|
||||||
provide.value "tgXhrErrorService", mocks.xhrErrorService
|
provide.value "tgXhrErrorService", mocks.xhrErrorService
|
||||||
|
@ -76,9 +77,10 @@ describe "ProfileController", ->
|
||||||
mocks.routeParams.slug = "user-slug"
|
mocks.routeParams.slug = "user-slug"
|
||||||
|
|
||||||
user = Immutable.fromJS({
|
user = Immutable.fromJS({
|
||||||
username: "username"
|
username: "username",
|
||||||
full_name_display: "full-name-display"
|
full_name_display: "full-name-display",
|
||||||
bio: "bio"
|
bio: "bio",
|
||||||
|
is_active: true
|
||||||
})
|
})
|
||||||
|
|
||||||
mocks.translate
|
mocks.translate
|
||||||
|
@ -121,9 +123,10 @@ describe "ProfileController", ->
|
||||||
$scope = $rootScope.$new()
|
$scope = $rootScope.$new()
|
||||||
|
|
||||||
user = Immutable.fromJS({
|
user = Immutable.fromJS({
|
||||||
username: "username"
|
username: "username",
|
||||||
full_name_display: "full-name-display"
|
full_name_display: "full-name-display",
|
||||||
bio: "bio"
|
bio: "bio",
|
||||||
|
is_active: true
|
||||||
})
|
})
|
||||||
|
|
||||||
mocks.translate
|
mocks.translate
|
||||||
|
@ -143,3 +146,24 @@ describe "ProfileController", ->
|
||||||
expect(mocks.appMetaService.setAll.withArgs("user-profile-page-title", "bio")).to.be.calledOnce
|
expect(mocks.appMetaService.setAll.withArgs("user-profile-page-title", "bio")).to.be.calledOnce
|
||||||
done()
|
done()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
it "non-active user", (done) ->
|
||||||
|
$scope = $rootScope.$new()
|
||||||
|
|
||||||
|
mocks.routeParams.slug = "user-slug"
|
||||||
|
|
||||||
|
user = Immutable.fromJS({
|
||||||
|
username: "username",
|
||||||
|
full_name_display: "full-name-display",
|
||||||
|
bio: "bio",
|
||||||
|
is_active: false
|
||||||
|
})
|
||||||
|
|
||||||
|
mocks.userService.getUserByUserName.withArgs(mocks.routeParams.slug).promise().resolve(user)
|
||||||
|
|
||||||
|
ctrl = $controller("Profile")
|
||||||
|
|
||||||
|
setTimeout ( ->
|
||||||
|
expect(mocks.xhrErrorService.notFound).to.be.calledOnce
|
||||||
|
done()
|
||||||
|
)
|
||||||
|
|
|
@ -7,14 +7,21 @@ class xhrError extends taiga.Service
|
||||||
|
|
||||||
constructor: (@q, @location, @navUrls) ->
|
constructor: (@q, @location, @navUrls) ->
|
||||||
|
|
||||||
|
notFound: () ->
|
||||||
|
@location.path(@navUrls.resolve("not-found"))
|
||||||
|
@location.replace()
|
||||||
|
|
||||||
|
permissionDenied: () ->
|
||||||
|
@location.path(@navUrls.resolve("permission-denied"))
|
||||||
|
@location.replace()
|
||||||
|
|
||||||
response: (xhr) ->
|
response: (xhr) ->
|
||||||
if xhr
|
if xhr
|
||||||
if xhr.status == 404
|
if xhr.status == 404
|
||||||
@location.path(@navUrls.resolve("not-found"))
|
@.notFound()
|
||||||
@location.replace()
|
|
||||||
else if xhr.status == 403
|
else if xhr.status == 403
|
||||||
@location.path(@navUrls.resolve("permission-denied"))
|
@.permissionDenied()
|
||||||
@location.replace()
|
|
||||||
|
|
||||||
return @q.reject(xhr)
|
return @q.reject(xhr)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue