Skip to content

Commit

Permalink
wrap requestUserApproval body in Promise executor
Browse files Browse the repository at this point in the history
  • Loading branch information
rekmarks committed Jul 23, 2020
1 parent efd751f commit 0690178
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 9 deletions.
16 changes: 8 additions & 8 deletions app/scripts/controllers/permissions/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -724,17 +724,17 @@ export class PermissionsController {
* @param {string} req - The internal rpc-cap user request object.
*/
requestUserApproval: (req) => {
const { metadata: { id, origin } } = req
return new Promise((resolve, reject) => {
const { metadata: { id, origin } } = req

if (this.pendingApprovalOrigins.has(origin)) {
throw ethErrors.rpc.resourceUnavailable(
'Permissions request already pending; please wait.',
)
}
if (this.pendingApprovalOrigins.has(origin)) {
throw ethErrors.rpc.resourceUnavailable(
'Permissions request already pending; please wait.',
)
}

this._showPermissionRequest()
this._showPermissionRequest()

return new Promise((resolve, reject) => {
this._addPendingApproval(id, origin, resolve, reject)
})
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -397,12 +397,17 @@ describe('permissions middleware', function () {
)
const resA2 = {}

await assert.rejects(
userApprovalPromise = getUserApprovalPromise(permController)

const requestApprovalFail = assert.rejects(
aMiddleware(reqA2, resA2),
expectedError,
'request should be rejected with correct error',
)

await userApprovalPromise
await requestApprovalFail

assert.ok(
(
!resA2.result && resA2.error &&
Expand Down

0 comments on commit 0690178

Please sign in to comment.