DocSpace-client/products/ASC.Files/Tests/Recent.cs

106 lines
4.3 KiB
C#
Raw Normal View History

using System;
using System.Collections.Generic;
2022-02-23 10:42:14 +00:00
using System.Threading.Tasks;
2020-12-29 16:45:18 +00:00
using ASC.Api.Documents;
2020-12-29 16:45:18 +00:00
using ASC.Core.Users;
using NUnit.Framework;
namespace ASC.Files.Tests
{
[TestFixture]
class Recent : BaseFilesTests
{
private FolderWrapper<int> TestFolder { get; set; }
public FileWrapper<int> TestFile { get; private set; }
public IEnumerable<FileShareParams> TestFileShare { get; private set; }
public UserInfo NewUser { get; set; }
[OneTimeSetUp]
2022-02-23 10:42:14 +00:00
public override async Task SetUp()
{
2022-02-23 10:42:14 +00:00
await base.SetUp();
TestFolder = await FilesControllerHelper.CreateFolderAsync(GlobalFolderHelper.FolderMy, "TestFolder");
TestFile = await FilesControllerHelper.CreateFileAsync(GlobalFolderHelper.FolderMy, "TestFile", default);
NewUser = UserManager.GetUsers(Guid.Parse("005bb3ff-7de3-47d2-9b3d-61b9ec8a76a5"));
2022-03-01 10:36:34 +00:00
TestFileShare = new List<FileShareParams> { new FileShareParams { Access = Core.Security.FileShare.Read, ShareTo = NewUser.Id } };
2020-12-29 16:45:18 +00:00
}
2022-02-23 10:42:14 +00:00
[OneTimeSetUp]
public void Authenticate()
{
SecurityContext.AuthenticateMe(CurrentTenant.OwnerId);
}
2020-12-29 16:45:18 +00:00
[OneTimeTearDown]
2022-02-23 10:42:14 +00:00
public async Task TearDown()
{
2022-02-23 10:42:14 +00:00
await DeleteFolderAsync(TestFolder.Id);
await DeleteFileAsync(TestFile.Id);
}
[TestCaseSource(typeof(DocumentData), nameof(DocumentData.GetCreateFolderItems))]
[Category("Folder")]
[Order(1)]
public void CreateFolderReturnsFolderWrapper(string folderTitle)
{
2022-02-23 10:42:14 +00:00
var folderWrapper = Assert.ThrowsAsync<InvalidOperationException>(async () => await FilesControllerHelper.CreateFolderAsync(await GlobalFolderHelper.FolderRecentAsync, folderTitle));
Assert.That(folderWrapper.Message == "You don't have enough permission to create");
}
[TestCaseSource(typeof(DocumentData), nameof(DocumentData.GetFolderInfoItems))]
[Category("File")]
[Order(1)]
public void CreateFileReturnsFolderWrapper(string folderTitle)
{
2022-02-23 10:42:14 +00:00
var folderWrapper = Assert.ThrowsAsync<InvalidOperationException>(async () => await FilesControllerHelper.CreateFolderAsync(await GlobalFolderHelper.FolderRecentAsync, folderTitle));
Assert.That(folderWrapper.Message == "You don't have enough permission to create");
}
[TestCaseSource(typeof(DocumentData), nameof(DocumentData.GetFileInfoItems))]
[Category("File")]
[Order(2)]
2022-02-23 10:42:14 +00:00
public async Task RecentFileReturnsFolderWrapper(string fileTitleExpected)
{
2022-02-23 10:42:14 +00:00
var RecentFolder = await FilesControllerHelper.AddToRecentAsync(TestFile.Id);
Assert.IsNotNull(RecentFolder);
Assert.AreEqual(fileTitleExpected + ".docx", RecentFolder.Title);
}
2020-12-16 15:00:43 +00:00
[TestCaseSource(typeof(DocumentData), nameof(DocumentData.GetFileInfoItems))]
[Category("File")]
[Order(4)]
2022-02-23 10:42:14 +00:00
public async Task DeleteRecentFileReturnsFolderWrapper(string fileTitleExpected)
2020-12-16 15:00:43 +00:00
{
2022-02-23 10:42:14 +00:00
var RecentFolder = await FilesControllerHelper.AddToRecentAsync(TestFile.Id);
await FilesControllerHelper.DeleteFileAsync(
2020-12-16 15:00:43 +00:00
TestFile.Id,
false,
true);
while (true)
{
var statuses = FileStorageService.GetTasksStatuses();
if (statuses.TrueForAll(r => r.Finished))
break;
2022-02-23 10:42:14 +00:00
await Task.Delay(100);
2020-12-16 15:00:43 +00:00
}
Assert.IsNotNull(RecentFolder);
Assert.AreEqual(fileTitleExpected + ".docx", RecentFolder.Title);
}
[TestCaseSource(typeof(DocumentData), nameof(DocumentData.ShareParamToRecentFile))]
[Category("File")]
[Order(3)]
2022-02-23 10:42:14 +00:00
public async Task ShareFileToAnotherUserAddToRecent(string fileTitleExpected, bool notify, string message)
{
2022-02-23 10:42:14 +00:00
await FilesControllerHelper.SetFileSecurityInfoAsync(TestFile.Id, TestFileShare, notify, message);
2022-03-01 10:36:34 +00:00
SecurityContext.AuthenticateMe(NewUser.Id);
2022-02-23 10:42:14 +00:00
var RecentFile = await FilesControllerHelper.AddToRecentAsync(TestFile.Id);
Assert.IsNotNull(RecentFile);
Assert.AreEqual(fileTitleExpected + ".docx", RecentFile.Title);
}
}
}