From cac9eaf07353d44cc768839a71eef2dcd21cae72 Mon Sep 17 00:00:00 2001 From: Dimitrie Stefanescu Date: Mon, 25 Oct 2021 10:17:01 +0100 Subject: [PATCH] test(server/rr): added prelim tests on read receipts --- .../modules/core/graph/resolvers/commits.js | 1 - .../graph/schemas/branchesAndCommits.graphql | 2 +- .../server/modules/core/tests/graph.spec.js | 38 +++++++++++++++++++ .../server/modules/core/tests/users.spec.js | 4 +- 4 files changed, 40 insertions(+), 5 deletions(-) diff --git a/packages/server/modules/core/graph/resolvers/commits.js b/packages/server/modules/core/graph/resolvers/commits.js index 0fb8c20dd..eac4988d0 100644 --- a/packages/server/modules/core/graph/resolvers/commits.js +++ b/packages/server/modules/core/graph/resolvers/commits.js @@ -9,7 +9,6 @@ const { createCommitByBranchName, createCommitByBranchId, updateCommit, - //receiveCommit, deleteCommit, getCommitById, getCommitsByBranchId, diff --git a/packages/server/modules/core/graph/schemas/branchesAndCommits.graphql b/packages/server/modules/core/graph/schemas/branchesAndCommits.graphql index 84383981a..07cf59518 100644 --- a/packages/server/modules/core/graph/schemas/branchesAndCommits.graphql +++ b/packages/server/modules/core/graph/schemas/branchesAndCommits.graphql @@ -81,7 +81,7 @@ extend type Mutation { @hasScope(scope: "streams:write") commitReceive(input: CommitReceivedInput!): Boolean! @hasRole(role: "server:user") - @hasScope(scope: "streams:write") + @hasScope(scope: "streams:read") commitDelete(commit: CommitDeleteInput!): Boolean! @hasRole(role: "server:user") @hasScope(scope: "streams:write") diff --git a/packages/server/modules/core/tests/graph.spec.js b/packages/server/modules/core/tests/graph.spec.js index bb83045f4..74f932dd9 100644 --- a/packages/server/modules/core/tests/graph.spec.js +++ b/packages/server/modules/core/tests/graph.spec.js @@ -359,6 +359,44 @@ describe( 'GraphQL API Core @core-api', ( ) => { expect( res2.body.errors ).to.exist } ) + it( 'Should create a read receipt', async () => { + let res = await sendRequest( userA.token, { query: 'mutation($input: CommitReceivedInput!) { commitReceive(input: $input) }' , variables: { + input: { + streamId: ts1, + commitId: c1.id, + sourceApplication: 'tests', + message: 'Irrelevant!' + } + } + } ) + + expect( res ).to.be.json + expect( res.body.errors ).to.not.exist + expect( res.body.data.commitReceive ).to.equal( true ) + + let res2 = await sendRequest( userB.token, { query: 'mutation($input: CommitReceivedInput!) { commitReceive(input: $input) }' , variables: { + input: { + streamId: ts1, + commitId: c1.id, + sourceApplication: 'tests', + message: 'Irrelevant!' + } + } + } ) + console.log( res2.body.errors ) + + let res3 = await sendRequest( null, { query: 'mutation($input: CommitReceivedInput!) { commitReceive(input: $input) }' , variables: { + input: { + streamId: ts1, + commitId: c1.id, + sourceApplication: 'tests', + message: 'Irrelevant!' + } + } + } ) + console.log( res3.body.errors ) + } ) + it( 'Should delete a commit', async ( ) => { let payload = { streamId: ts1, id: c2.id } diff --git a/packages/server/modules/core/tests/users.spec.js b/packages/server/modules/core/tests/users.spec.js index 6dc6c5e5d..fcd03ef0a 100644 --- a/packages/server/modules/core/tests/users.spec.js +++ b/packages/server/modules/core/tests/users.spec.js @@ -240,17 +240,15 @@ describe( 'Actors & Tokens @user-services', () => { let myFirstToken let pregeneratedToken let revokedToken - let someOtherToken let expireSoonToken before( async () => { pregeneratedToken = await createPersonalAccessToken( myTestActor.id, 'Whabadub', [ 'streams:read', 'streams:write', 'profile:read', 'users:email' ] ) revokedToken = await createPersonalAccessToken( myTestActor.id, 'Mr. Revoked', [ 'streams:read' ] ) - someOtherToken = await createPersonalAccessToken( otherUser.id, 'Hello World', [ 'streams:write' ] ) expireSoonToken = await createPersonalAccessToken( myTestActor.id, 'Mayfly', [ 'streams:read' ], 1 ) // 1ms lifespan } ) - it( 'Should create an personal api token', async () => { + it( 'Should create a personal api token', async () => { let scopes = [ 'streams:write', 'profile:read' ] let name = 'My Test Token'