From 74a8024131c67d73b920b09ffac75d0f5513888a Mon Sep 17 00:00:00 2001 From: Lakhan Samani Date: Tue, 15 Mar 2022 12:09:54 +0530 Subject: [PATCH] feat: add integration test for invite_member --- server/test/invite_member_test.go | 57 +++++++++++++++++++++++++++++++ server/test/resolvers_test.go | 1 + 2 files changed, 58 insertions(+) diff --git a/server/test/invite_member_test.go b/server/test/invite_member_test.go index 56e5404..76cd389 100644 --- a/server/test/invite_member_test.go +++ b/server/test/invite_member_test.go @@ -1 +1,58 @@ package test + +import ( + "fmt" + "testing" + + "github.com/authorizerdev/authorizer/server/constants" + "github.com/authorizerdev/authorizer/server/crypto" + "github.com/authorizerdev/authorizer/server/envstore" + "github.com/authorizerdev/authorizer/server/graph/model" + "github.com/authorizerdev/authorizer/server/resolvers" + "github.com/stretchr/testify/assert" +) + +func inviteUserTest(t *testing.T, s TestSetup) { + t.Helper() + t.Run(`should invite user successfully`, func(t *testing.T) { + req, ctx := createContext(s) + emails := []string{"invite_member1." + s.TestInfo.Email} + + // unauthorized error + res, err := resolvers.InviteMembersResolver(ctx, model.InviteMemberInput{ + Emails: emails, + }) + + assert.Error(t, err) + assert.Nil(t, res) + + h, err := crypto.EncryptPassword(envstore.EnvStoreObj.GetStringStoreEnvVariable(constants.EnvKeyAdminSecret)) + assert.Nil(t, err) + req.Header.Set("Cookie", fmt.Sprintf("%s=%s", envstore.EnvStoreObj.GetStringStoreEnvVariable(constants.EnvKeyAdminCookieName), h)) + + // invalid emails test + invalidEmailsTest := []string{ + "test", + "test.com", + } + res, err = resolvers.InviteMembersResolver(ctx, model.InviteMemberInput{ + Emails: invalidEmailsTest, + }) + + // valid test + res, err = resolvers.InviteMembersResolver(ctx, model.InviteMemberInput{ + Emails: emails, + }) + assert.Nil(t, err) + assert.NotNil(t, res) + + // duplicate error test + res, err = resolvers.InviteMembersResolver(ctx, model.InviteMemberInput{ + Emails: emails, + }) + assert.Error(t, err) + assert.Nil(t, res) + + cleanData(emails[0]) + }) +} diff --git a/server/test/resolvers_test.go b/server/test/resolvers_test.go index bc8eedc..7e0c41d 100644 --- a/server/test/resolvers_test.go +++ b/server/test/resolvers_test.go @@ -62,6 +62,7 @@ func TestResolvers(t *testing.T) { magicLinkLoginTests(t, s) logoutTests(t, s) metaTests(t, s) + inviteUserTest(t, s) }) } }