diff --git a/services/web/test/acceptance/coffee/ProjectInviteTests.coffee b/services/web/test/acceptance/coffee/ProjectInviteTests.coffee
index 83eb5ee81f..c65e788398 100644
--- a/services/web/test/acceptance/coffee/ProjectInviteTests.coffee
+++ b/services/web/test/acceptance/coffee/ProjectInviteTests.coffee
@@ -80,6 +80,26 @@ describe "ProjectInviteTests", ->
@link = CollaboratorsEmailHandler._buildInviteUrl(@fakeProject, @invite)
done()
+ it 'should not grant access if the user does not accept the invite', (done) ->
+ Async.series(
+ [
+ # go to the invite page
+ (cb) =>
+ followInviteLink @user, @link, (err, response, body) =>
+ expect(err).to.be.oneOf [null, undefined]
+ expect(response.statusCode).to.equal 200
+ expect(body).to.match new RegExp("
Project Invite - .*")
+ cb()
+
+ # access the project page
+ (cb) =>
+ @user.openProject @invite.projectId, (err) =>
+ expect(err).to.be.instanceof Error
+ cb()
+
+ ], done
+ )
+
it 'should allow the user to accept the invite and access the project', (done) ->
Async.series(
[
diff --git a/services/web/test/acceptance/coffee/helpers/User.coffee b/services/web/test/acceptance/coffee/helpers/User.coffee
index 3db946bea3..1d39e3cf92 100644
--- a/services/web/test/acceptance/coffee/helpers/User.coffee
+++ b/services/web/test/acceptance/coffee/helpers/User.coffee
@@ -73,7 +73,10 @@ class User
@request.get {
url: "/project/#{project_id}"
}, (error, response, body) ->
- return callback(error) if error? or response.statusCode != 200
+ return callback(error) if error?
+ if response.statusCode != 200
+ err = new Error("Non-success response when opening project: #{response.statusCode}")
+ return callback(err)
callback(null)
addUserToProject: (project_id, email, privileges, callback = (error, user) ->) ->