diff --git a/test/Api.Test/Api.Test.csproj b/test/Api.Test/Api.Test.csproj
index 50ca81773..df630cf23 100644
--- a/test/Api.Test/Api.Test.csproj
+++ b/test/Api.Test/Api.Test.csproj
@@ -14,6 +14,7 @@
all
runtime; build; native; contentfiles; analyzers; buildtransitive
+
diff --git a/test/Api.Test/Controllers/SendsControllerTests.cs b/test/Api.Test/Controllers/SendsControllerTests.cs
new file mode 100644
index 000000000..33786b88d
--- /dev/null
+++ b/test/Api.Test/Controllers/SendsControllerTests.cs
@@ -0,0 +1,79 @@
+using AutoFixture.Xunit2;
+using Bit.Api.Controllers;
+using Bit.Core.Enums;
+using Bit.Core.Models.Api;
+using Bit.Core.Models.Table;
+using Bit.Core.Repositories;
+using Bit.Core.Services;
+using Bit.Core.Settings;
+using Bit.Core.Utilities;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.Extensions.Logging;
+using Newtonsoft.Json;
+using NSubstitute;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using System;
+using Xunit;
+
+namespace Bit.Api.Test.Controllers
+{
+ public class SendsControllerTests : IDisposable
+ {
+
+ private readonly SendsController _sut;
+ private readonly GlobalSettings _globalSettings;
+ private readonly IUserService _userService;
+ private readonly ISendRepository _sendRepository;
+ private readonly ISendService _sendService;
+ private readonly ISendFileStorageService _sendFileStorageService;
+ private readonly ILogger _logger;
+
+ public SendsControllerTests()
+ {
+ _userService = Substitute.For();
+ _sendRepository = Substitute.For();
+ _sendService = Substitute.For();
+ _sendFileStorageService = Substitute.For();
+ _globalSettings = new GlobalSettings();
+ _logger = Substitute.For>();
+
+ _sut = new SendsController(
+ _sendRepository,
+ _userService,
+ _sendService,
+ _sendFileStorageService,
+ _logger,
+ _globalSettings
+ );
+ }
+
+ public void Dispose()
+ {
+ _sut?.Dispose();
+ }
+
+ [Theory, AutoData]
+ public async Task SendsController_WhenSendHidesEmail_CreatorIdentifierShouldBeNull(
+ Guid id, Send send, User user)
+ {
+ var accessId = CoreHelpers.Base64UrlEncode(id.ToByteArray());
+
+ send.Id = default;
+ send.Type = SendType.Text;
+ send.Data = JsonConvert.SerializeObject(new Dictionary());
+ send.HideEmail = true;
+
+ _sendService.AccessAsync(id, null).Returns((send, false, false));
+ _userService.GetUserByIdAsync(Arg.Any()).Returns(user);
+
+ var request = new SendAccessRequestModel();
+ var actionResult = await _sut.Access(accessId, request);
+ var response = (actionResult as ObjectResult)?.Value as SendAccessResponseModel;
+
+ Assert.NotNull(response);
+ Assert.Null(response.CreatorIdentifier);
+ }
+ }
+}
+