public static ResultService <CloneFileOperations> CreateFileOperations(File file, User user) { if (file == null) { return(ResultService <CloneFileOperations> .Error($"File parametr is null")); } if (file.IsDeleted) { // throw new Exception($"Can't clone deleted file {file.Key}"); return(ResultService <CloneFileOperations> .Error($"Can't clone deleted file {file.Key}")); } CloneFileOperations clone = new CloneFileOperations(); clone.KeyUser = user.Key; clone.KeyFile = Guid.NewGuid().ToString(); clone.KeyFileVersion = Guid.NewGuid().ToString(); clone.FileName = file.FileName; clone.Extension = file.Extension; clone.Parent = file.LongKey; clone.IsAdd = false; clone.IsChange = false; clone.IsClone = true; clone.IsDelete = false; clone.OperationDate = DateTime.Now; clone.CreateOrderBy(); return(ResultService <CloneFileOperations> .Ok(clone)); }
// [TestMethod] public void CloneFile_RunAddUserAndAddFileAndCloneFile_AndResultDeleteFile() { string login = "******"; string name = "Name"; string surName = "SurName"; string password = "******"; AddUserOperations addUserOperations = AddUserOperations.CreateUserOperations(login, password, name, surName); //HiveDatabaseService databaseService = new HiveDatabaseService(connectionString); sut.DoUserOperations(addUserOperations).Wait();; User user = sut.GetUser(addUserOperations.KeyUser).Result; AddUserOperations addUserOperationsOther = AddUserOperations.CreateUserOperations(login, password, name, surName); sut.DoUserOperations(addUserOperationsOther).Wait();; User userOther = sut.GetUser(addUserOperationsOther.KeyUser).Result; string fileName = "filename"; string extension = "extension"; AddFileOperations addFileOperations = AddFileOperations.CreateFileOperations(user, fileName, extension).OnError(a => throw new Exception(a)).Value;; sut.DoFileOperations(addFileOperations).Wait(); File file = sut.GetFile(addFileOperations.KeyUserFile).Result; CloneFileOperations cloneFileOperations = CloneFileOperations.CreateFileOperations(file, userOther).OnError(a => throw new Exception(a)).Value;; //Act sut.DoFileOperations(cloneFileOperations).Wait(); // Assert File fileRead = sut.GetFile(cloneFileOperations.KeyUserFile).Result; Assert.AreEqual(fileName, fileRead.FileName); Assert.AreEqual(extension, fileRead.Extension); Assert.AreEqual(cloneFileOperations.KeyUser, fileRead.KeyUser); Assert.AreEqual(cloneFileOperations.KeyUserFile, fileRead.Key); Assert.AreEqual(cloneFileOperations.Key, fileRead.LongKey); Assert.AreEqual(cloneFileOperations.OperationDate.ToString("yyyy-MM-dd HH:mm:ss"), file.LastOperationDate.ToString("yyyy-MM-dd HH:mm:ss")); Assert.IsFalse(fileRead.IsDeleted); Assert.IsTrue(fileRead.IsCloned); Assert.AreEqual(addFileOperations.Key, fileRead.Parent); }