mirror of
https://github.com/bitwarden/server
synced 2025-12-10 21:33:41 +00:00
* Added the ArchivedDate to cipher entity and response model * Created migration scripts for sqlserver and ef core migration to add the ArchivedDate column --------- Co-authored-by: gbubemismith <gsmithwalter@gmail.com> Co-authored-by: SmithThe4th <gsmith@bitwarden.com> Co-authored-by: Shane <smelton@bitwarden.com> Co-authored-by: cd-bitwarden <106776772+cd-bitwarden@users.noreply.github.com> Co-authored-by: jng <jng@bitwarden.com>
50 lines
1.8 KiB
C#
50 lines
1.8 KiB
C#
using Bit.Core.Entities;
|
|
using Bit.Core.Platform.Push;
|
|
using Bit.Core.Test.AutoFixture.CipherFixtures;
|
|
using Bit.Core.Vault.Commands;
|
|
using Bit.Core.Vault.Models.Data;
|
|
using Bit.Core.Vault.Repositories;
|
|
using Bit.Test.Common.AutoFixture;
|
|
using Bit.Test.Common.AutoFixture.Attributes;
|
|
using NSubstitute;
|
|
using Xunit;
|
|
|
|
namespace Bit.Core.Test.Vault.Commands;
|
|
|
|
[UserCipherCustomize]
|
|
[SutProviderCustomize]
|
|
public class UnarchiveCiphersCommandTest
|
|
{
|
|
[Theory]
|
|
[BitAutoData(true, false, 1, 1, 1)]
|
|
[BitAutoData(false, false, 1, 0, 1)]
|
|
[BitAutoData(false, true, 1, 0, 1)]
|
|
[BitAutoData(true, true, 1, 1, 1)]
|
|
public async Task UnarchiveAsync_Works(
|
|
bool isEditable, bool hasOrganizationId,
|
|
int cipherRepoCalls, int resultCountFromQuery, int pushNotificationsCalls,
|
|
SutProvider<UnarchiveCiphersCommand> sutProvider, CipherDetails cipher, User user)
|
|
{
|
|
cipher.Edit = isEditable;
|
|
cipher.OrganizationId = hasOrganizationId ? Guid.NewGuid() : null;
|
|
|
|
var cipherList = new List<CipherDetails> { cipher };
|
|
|
|
sutProvider.GetDependency<ICipherRepository>()
|
|
.GetManyByUserIdAsync(user.Id).Returns(cipherList);
|
|
|
|
// Act
|
|
await sutProvider.Sut.UnarchiveManyAsync([cipher.Id], user.Id);
|
|
|
|
// Assert
|
|
await sutProvider.GetDependency<ICipherRepository>().Received(cipherRepoCalls).UnarchiveAsync(
|
|
Arg.Is<IEnumerable<Guid>>(ids => ids.Count() == resultCountFromQuery
|
|
&& ids.Count() >= 1
|
|
? true
|
|
: ids.All(id => cipherList.Contains(cipher))),
|
|
user.Id);
|
|
await sutProvider.GetDependency<IPushNotificationService>().Received(pushNotificationsCalls)
|
|
.PushSyncCiphersAsync(user.Id);
|
|
}
|
|
}
|