35 lines
804 B
Go
35 lines
804 B
Go
//go:build unit
|
|
|
|
package service
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestUpdateProfile_DoesNotReturnPartialSuccessFromEmailIdentityResync(t *testing.T) {
|
|
repo := &emailSyncRepoStub{
|
|
user: &User{
|
|
ID: 19,
|
|
Email: "profile-before@example.com",
|
|
Username: "tester",
|
|
Concurrency: 2,
|
|
},
|
|
replaceErr: context.DeadlineExceeded,
|
|
}
|
|
svc := NewUserService(repo, nil, nil, nil)
|
|
|
|
newEmail := "profile-after@example.com"
|
|
updated, err := svc.UpdateProfile(context.Background(), 19, UpdateProfileRequest{
|
|
Email: &newEmail,
|
|
})
|
|
require.NoError(t, err)
|
|
require.NotNil(t, updated)
|
|
require.Equal(t, newEmail, updated.Email)
|
|
require.Equal(t, 1, repo.updateCalls)
|
|
require.Empty(t, repo.replaceCalls)
|
|
require.Empty(t, repo.ensureCalls)
|
|
}
|