github.com/clerkinc/clerk-sdk-go@v1.49.1/tests/integration/emails_test.go (about)

     1  //go:build integration
     2  // +build integration
     3  
     4  package integration
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/assert"
    10  
    11  	"github.com/clerkinc/clerk-sdk-go/clerk"
    12  )
    13  
    14  func TestEmails(t *testing.T) {
    15  	client := createClient()
    16  
    17  	users, _ := client.Users().ListAll(clerk.ListAllUsersParams{})
    18  	if users == nil || len(users) == 0 {
    19  		return
    20  	}
    21  
    22  	user := users[0]
    23  
    24  	if user.PrimaryEmailAddressID == nil {
    25  		return
    26  	}
    27  
    28  	email := clerk.Email{
    29  		FromEmailName:  "integration-test",
    30  		Subject:        "Testing Go SDK",
    31  		Body:           "Testing email functionality for Go SDK",
    32  		EmailAddressID: *user.PrimaryEmailAddressID,
    33  	}
    34  
    35  	emailResponse, err := client.Emails().Create(email)
    36  	if err != nil {
    37  		t.Fatalf("Emails.Create returned error: %v", err)
    38  	}
    39  
    40  	assert.Equal(t, "email", emailResponse.Object)
    41  	assert.Equal(t, "queued", emailResponse.Status)
    42  	assert.Equal(t, email.FromEmailName, emailResponse.FromEmailName)
    43  	assert.Equal(t, email.EmailAddressID, emailResponse.EmailAddressID)
    44  	assert.Equal(t, email.Subject, emailResponse.Subject)
    45  	assert.Equal(t, email.Body, emailResponse.Body)
    46  	assert.True(t, emailResponse.DeliveredByClerk)
    47  	// assert.Nil(t, emailResponse.Data)
    48  }