repository-manager 0.1.21 → 0.1.24

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 039847f7aefc14428ba9580ac69fa2421aaf9c2f
4
- data.tar.gz: 42f647e14302c8845cbb609db5f09259fdf9fbf9
3
+ metadata.gz: 3143ce6c4c30c092465f7df4d8a6d034af441c20
4
+ data.tar.gz: e8312b152f841ae69fcd5edb97e72d403c00b502
5
5
  SHA512:
6
- metadata.gz: 4d02cf94ea13082dd65ecdf3f682bbb46871a6404d651c3365ac152f5a01d2ef417951ee7e38175e38be922d074ffafed8831a33bfb58fd728c98b331382eb85
7
- data.tar.gz: 73490b6e53f03bbd7951e776988bcff2a1c77b2da222737aebc3f8ddbd97d364695905e023d83fa6cc5c3cda947700f0b5421ec6ef70d3eabdd808dece77aaf7
6
+ metadata.gz: cadd9617228aca58a60b5eaf42d2adc4407d845e67dde41e689f2d8fc9c5b9cd8090d5804e20320d7b2cf5dbaadebd8961749c2a59e0c8308c8670f3be8b6a89
7
+ data.tar.gz: c9d6f0071279a2c4dd565bc43176502e7fb98b8b2e1cdfbe5420d140495745f765692691341b02ad555b0aa999efc9ac33266abcc8e46ee36244e3f9b8b2a00a
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- repository-manager (0.1.20)
4
+ repository-manager (0.1.23)
5
5
  ancestry
6
6
  carrierwave (>= 0.5.8)
7
7
  rails (> 3.0.0)
data/README.md CHANGED
@@ -227,7 +227,7 @@ file.sender # Returns user1
227
227
 
228
228
  ```
229
229
 
230
- WARNING : There is no verification if the user has the permission to create a file or folder into this group. You have to check this in your controller ! The fact that user1 is the sender of this folder gives him NO AUTHORISATION on it !
230
+ WARNING : There is no verification if the user1 has the permission to create a file or folder into this group. You have to check this in your controller ! The fact that user1 is the sender of this folder gives him NO PERMISSION on it !
231
231
 
232
232
  ### How can I share a repo_item (file/folder)
233
233
 
@@ -456,7 +456,6 @@ the_folder.delete_zip
456
456
  ## TODO
457
457
 
458
458
  - Do the rename file method
459
- - Configure path to save files
460
459
  - Write the methods : share_link.
461
460
  - Snapshot the file if possible
462
461
  - Versioning
@@ -31,7 +31,7 @@ class RepositoryManager::RepoFile < RepositoryManager::RepoItem
31
31
  if options[:source_folder]
32
32
  options[:source_folder].add!(new_item)
33
33
  elsif options[:owner].repo_item_name_exist_in_root?(new_item.name)
34
- raise RepositoryManager::RepositoryManagerException.new("copy failed. The repo_file '#{new_item.name}' already exist in root.")
34
+ raise RepositoryManager::ItemExistException.new("copy failed. The repo_file '#{new_item.name}' already exist in root.")
35
35
  end
36
36
 
37
37
  options[:owner] ? new_item.owner = options[:owner] : new_item.owner = self.owner
@@ -12,7 +12,7 @@ class RepositoryManager::RepoFolder < RepositoryManager::RepoItem
12
12
  if name_exist_in_children?(repo_item.name)
13
13
  # we delete the repo if asked
14
14
  repo_item.destroy if destroy_if_fail
15
- raise RepositoryManager::RepositoryManagerException.new("add failed. The repo_item '#{repo_item.name}' already exist in the folder '#{name}'")
15
+ raise RepositoryManager::ItemExistException.new("add failed. The repo_item '#{repo_item.name}' already exist in the folder '#{name}'")
16
16
  else
17
17
  repo_item.update_attribute :parent, self
18
18
  end
@@ -29,7 +29,7 @@ class RepositoryManager::RepoFolder < RepositoryManager::RepoItem
29
29
  # Rename the item
30
30
  def rename!(new_name)
31
31
  if name_exist_in_siblings?(new_name)
32
- raise RepositoryManager::RepositoryManagerException.new("rename failed. The repo_item '#{new_name}' already exist.'")
32
+ raise RepositoryManager::ItemExistException.new("rename failed. The repo_item '#{new_name}' already exist.'")
33
33
  else
34
34
  self.name = new_name
35
35
  # TODO see if I have to save or not
@@ -58,7 +58,7 @@ class RepositoryManager::RepoFolder < RepositoryManager::RepoItem
58
58
  if options[:source_folder]
59
59
  options[:source_folder].add!(new_item)
60
60
  elsif options[:owner].repo_item_name_exist_in_root?(new_item.name)
61
- raise RepositoryManager::RepositoryManagerException.new("copy failed. The repo_folder '#{new_item.name}' already exist in root.")
61
+ raise RepositoryManager::ItemExistException.new("copy failed. The repo_folder '#{new_item.name}' already exist in root.")
62
62
  end
63
63
 
64
64
  options[:owner] ? new_item.owner = options[:owner] : new_item.owner = self.owner
@@ -39,12 +39,12 @@ class RepositoryManager::RepoItem < ActiveRecord::Base
39
39
  raise RepositoryManager::RepositoryManagerException.new("move failed. target '#{options[:source_folder].name}' can't be a file")
40
40
  end
41
41
  if options[:source_folder].name_exist_in_children?(self.name)
42
- raise RepositoryManager::RepositoryManagerException.new("move failed. The repo_item '#{name}' already exist ine the folder '#{options[:source_folder].name}'")
42
+ raise RepositoryManager::ItemExistException.new("move failed. The repo_item '#{name}' already exist ine the folder '#{options[:source_folder].name}'")
43
43
  end
44
44
  # We are in root, we check if name exist in root
45
45
  # We stay in the same owner
46
46
  elsif self.owner.repo_item_name_exist_in_root?(self.name)
47
- raise RepositoryManager::RepositoryManagerException.new("move failed. The repo_item '#{name}' already exist ine the root")
47
+ raise RepositoryManager::ItemExistException.new("move failed. The repo_item '#{name}' already exist ine the root")
48
48
  end
49
49
  # here, all is ok
50
50
  # We change the owner if another one is specify
@@ -26,6 +26,14 @@ module RepositoryManager
26
26
  def protected_attributes?
27
27
  Rails.version < '4' || defined?(ProtectedAttributes)
28
28
  end
29
+
30
+ ##
31
+ # Loads the Carrierwave locale files before the Rails application locales
32
+ # letting the Rails application overrite the carrierwave locale defaults
33
+ #config.before_configuration do
34
+ I18n.load_path << File.join(File.dirname(__FILE__), 'repository_manager', 'locales', 'repository_manager.en.yml')
35
+ #end
36
+
29
37
  end
30
38
 
31
39
  end
@@ -7,4 +7,7 @@ module RepositoryManager
7
7
 
8
8
  class NestedSharingException < RepositoryManagerException
9
9
  end
10
+
11
+ class ItemExistException < RepositoryManagerException
12
+ end
10
13
  end
@@ -87,7 +87,14 @@ module RepositoryManager
87
87
  def share(repo_item, members, options = {})
88
88
  begin
89
89
  share!(repo_item, members, options)
90
- rescue RepositoryManager::PermissionException, RepositoryManager::NestedSharingException, ActiveRecord::RecordInvalid, ActiveRecord::RecordNotSaved
90
+ rescue RepositoryManager::PermissionException
91
+ repo_item.errors.add(:sharing, I18n.t('repository_manager.errors.sharing.create.no_permission'))
92
+ false
93
+ rescue RepositoryManager::NestedSharingException
94
+ repo_item.errors.add(:sharing, I18n.t('repository_manager.errors.sharing.create.nested_sharing'))
95
+ false
96
+ rescue ActiveRecord::RecordInvalid, ActiveRecord::RecordNotSaved
97
+ repo_item.errors.add(:sharing, I18n.t('repository_manager.errors.sharing.create.not_created'))
91
98
  false
92
99
  end
93
100
  end
@@ -122,7 +129,7 @@ module RepositoryManager
122
129
 
123
130
  # If we are in root path we check if we can add this folder name
124
131
  if !source_folder && repo_item_name_exist_in_root?(name)
125
- raise RepositoryManager::RepositoryManagerException.new("create folder failed. The repo_item '#{name}' already exist in the root folder.")
132
+ raise RepositoryManager::ItemExistException.new("create folder failed. The repo_item '#{name}' already exist in the root folder.")
126
133
  end
127
134
 
128
135
  # It raise an error if name already exist and destroy the folder
@@ -138,9 +145,17 @@ module RepositoryManager
138
145
  # Like create_folder!
139
146
  # Returns false if the folder is not created instead of an exception
140
147
  def create_folder(name = '', options = {})
148
+ options[:errors] = []
141
149
  begin
142
150
  create_folder!(name, options)
143
- rescue RepositoryManager::PermissionException, RepositoryManager::RepositoryManagerException, ActiveRecord::RecordInvalid, ActiveRecord::RecordNotSaved
151
+ rescue RepositoryManager::PermissionException
152
+ options[:errors].push(I18n.t'repository_manager.errors.repo_item.repo_folder.create.no_permission')
153
+ false
154
+ rescue RepositoryManager::ItemExistException
155
+ options[:errors].push(I18n.t'repository_manager.errors.repo_item.repo_folder.item_exist')
156
+ false
157
+ rescue RepositoryManager::RepositoryManagerException, ActiveRecord::RecordInvalid, ActiveRecord::RecordNotSaved
158
+ options[:errors].push(I18n.t'repository_manager.errors.repo_item.repo_folder.create.not_created')
144
159
  false
145
160
  end
146
161
  end
@@ -158,6 +173,7 @@ module RepositoryManager
158
173
  begin
159
174
  delete_repo_item!(repo_item)
160
175
  rescue RepositoryManager::PermissionException
176
+ repo_item.errors.add(:delete, I18n.t('repository_manager.errors.repo_item.delete.no_permission'))
161
177
  false
162
178
  end
163
179
  end
@@ -198,7 +214,7 @@ module RepositoryManager
198
214
 
199
215
  # If we are in root path we check if we can add this file name
200
216
  if !source_folder && repo_item_name_exist_in_root?(repo_file.file.identifier)
201
- raise RepositoryManager::RepositoryManagerException.new("create file failed. The repo_item '#{repo_file.file.identifier}' already exist in the root folder.")
217
+ raise RepositoryManager::ItemExistException.new("create file failed. The repo_item '#{repo_file.file.identifier}' already exist in the root folder.")
202
218
  end
203
219
 
204
220
  # It raise an error if name already exist and destroy the file
@@ -212,9 +228,17 @@ module RepositoryManager
212
228
  end
213
229
 
214
230
  def create_file(file, options = {})
231
+ options[:errors] = []
215
232
  begin
216
233
  create_file!(file, options)
217
- rescue RepositoryManager::PermissionException, RepositoryManager::RepositoryManagerException, ActiveRecord::RecordInvalid, ActiveRecord::RecordNotSaved
234
+ rescue RepositoryManager::PermissionException
235
+ options[:errors].push(I18n.t'repository_manager.errors.repo_item.repo_file.create.no_permission')
236
+ false
237
+ rescue RepositoryManager::ItemExistException
238
+ options[:errors].push(I18n.t'repository_manager.errors.repo_item.repo_file.item_exist')
239
+ false
240
+ rescue RepositoryManager::RepositoryManagerException, ActiveRecord::RecordInvalid, ActiveRecord::RecordNotSaved
241
+ options[:errors].push(I18n.t'repository_manager.errors.repo_item.repo_file.create.not_created')
218
242
  false
219
243
  end
220
244
  end
@@ -264,6 +288,7 @@ module RepositoryManager
264
288
  begin
265
289
  download!(repo_item, options)
266
290
  rescue RepositoryManager::PermissionException
291
+ repo_item.errors.add(:download, I18n.t('repository_manager.errors.repo_item.download.no_permission'))
267
292
  false
268
293
  end
269
294
  end
@@ -281,6 +306,7 @@ module RepositoryManager
281
306
  begin
282
307
  rename_repo_item!(repo_item, new_name)
283
308
  rescue RepositoryManager::PermissionException
309
+ repo_item.errors.add(:rename, I18n.t('repository_manager.errors.repo_item.rename.no_permission'))
284
310
  false
285
311
  end
286
312
  end
@@ -319,7 +345,14 @@ module RepositoryManager
319
345
  def move_repo_item(repo_item, target = nil)
320
346
  begin
321
347
  move_repo_item!(repo_item, target)
348
+ rescue RepositoryManager::PermissionException
349
+ repo_item.errors.add(:move, I18n.t('repository_manager.errors.repo_item.move.no_permission'))
350
+ false
351
+ rescue RepositoryManager::ItemExistException
352
+ repo_item.errors.add(:move, I18n.t('repository_manager.errors.repo_item.item_exist'))
353
+ false
322
354
  rescue RepositoryManager::RepositoryManagerException, ActiveRecord::RecordInvalid, ActiveRecord::RecordNotSaved
355
+ repo_item.errors.add(:move, I18n.t('repository_manager.errors.repo_item.move.not_moved'))
323
356
  false
324
357
  end
325
358
  end
@@ -351,7 +384,14 @@ module RepositoryManager
351
384
  def copy_repo_item(repo_item, target = nil, options = {})
352
385
  begin
353
386
  copy_repo_item!(repo_item, target, options)
354
- rescue RepositoryManager::PermissionException, RepositoryManager::RepositoryManagerException, ActiveRecord::RecordInvalid, ActiveRecord::RecordNotSaved
387
+ rescue RepositoryManager::PermissionException
388
+ repo_item.errors.add(:copy, I18n.t('repository_manager.errors.repo_item.copy.no_permission'))
389
+ false
390
+ rescue RepositoryManager::ItemExistException
391
+ repo_item.errors.add(:copy, I18n.t('repository_manager.errors.repo_item.item_exist'))
392
+ false
393
+ rescue RepositoryManager::RepositoryManagerException, ActiveRecord::RecordInvalid, ActiveRecord::RecordNotSaved
394
+ repo_item.errors.add(:copy, I18n.t('repository_manager.errors.repo_item.copy.not_copied'))
355
395
  false
356
396
  end
357
397
  end
@@ -440,6 +480,7 @@ module RepositoryManager
440
480
  begin
441
481
  add_members_to!(sharing, members, options = RepositoryManager.default_sharing_permissions)
442
482
  rescue RepositoryManager::PermissionException
483
+ sharing.errors.add(:add, I18n.t('repository_manager.errors.sharing.add.no_permission'))
443
484
  false
444
485
  end
445
486
  end
@@ -458,6 +499,7 @@ module RepositoryManager
458
499
  begin
459
500
  remove_members_from!(sharing, members)
460
501
  rescue RepositoryManager::PermissionException
502
+ sharing.errors.add(:remove, I18n.t('repository_manager.errors.sharing.remove.no_permission'))
461
503
  false
462
504
  end
463
505
  end
@@ -0,0 +1,48 @@
1
+ en:
2
+ repository_manager:
3
+ models:
4
+ repo_folder:
5
+ name: New folder
6
+ success:
7
+ repo_folder:
8
+ created: The folder was created with success !
9
+ repo_file:
10
+ created: The file was created with success !
11
+ errors:
12
+ repo_item:
13
+ item_exist: This item already exist in the target destination
14
+ download:
15
+ no_permission: You don't have the permission to download this item
16
+ rename:
17
+ no_permission: You don't have the permission to rename this item
18
+ delete:
19
+ no_permission: You don't have the permission to delete this item
20
+ move:
21
+ no_permission: You don't have the permission to move this item
22
+ not_moved: This item was not moved
23
+ copy:
24
+ no_permission: You don't have the permission to copy this item
25
+ not_copied: This item was not copied
26
+ repo_folder:
27
+ item_exist: This folder already exist
28
+ create:
29
+ no_permission: You don't have the permission to create a folder
30
+ not_created: The folder was not created
31
+ repo_file:
32
+ item_exist: This file already exist
33
+ create:
34
+ no_permission: You don't have the permission to create a file
35
+ not_created: The file was not created
36
+ sharing:
37
+ create:
38
+ no_permission: You don't have the permission to share this item
39
+ nested_sharing: You can't share this item because another sharing exist on its ancestors or descendants
40
+ not_created: This item was not shared
41
+ add:
42
+ no_permission: You don't have the permission to add member to this share
43
+ remove:
44
+ no_permission: You don't have the permission to remove member from this share
45
+ form:
46
+ new:
47
+ repo_folder: Create a folder
48
+ repo_file: Send a file
@@ -0,0 +1,45 @@
1
+ fr:
2
+ repository_manager:
3
+ models:
4
+ repo_folder:
5
+ name: Nouveau dossier
6
+ success:
7
+ repo_folder:
8
+ created: Le dossier a été créé avec succès !
9
+ repo_file:
10
+ created: Le fichier a été créé avec succès !
11
+ errors:
12
+ repo_item:
13
+ download:
14
+ no_permission: Vous n'avez pas la permission de télécharger cet élément
15
+ rename:
16
+ no_permission: Vous n'avez pas la permission de renommer cet élément
17
+ delete:
18
+ no_permission: Vous n'avez pas la permission de supprimer cet élément
19
+ move:
20
+ no_permission: Vous n'avez pas la permission de déplacer cet élément
21
+ not_moved: Cet élément n'a pas été déplacé
22
+ item_exist: Cet élément existe déjà dans la destination cible
23
+ repo_folder:
24
+ item_exist: Ce dossier existe déjà
25
+ create:
26
+ no_permission: Vous n'avez pas la permission de créer un dossier
27
+ not_created: Le dossier n'a pas été créé
28
+ repo_file:
29
+ item_exist: Ce fichier existe déjà
30
+ create:
31
+ no_permission: Vous n'avez pas la permission de créer un fichier
32
+ not_created: Le fichier n'a pas été envoyé
33
+ sharing:
34
+ create:
35
+ no_permission: Vous n'avez pas la permission de partager cet élément
36
+ nested_sharing: Vous ne pouvez pas partager cet élément car un partage existe déjà dans un de ces parents ou descendants
37
+ not_created: L'élément n'a pas été partagé
38
+ add:
39
+ no_permission: Vous n'avez pas la permission d'ajouter un membre au partage
40
+ remove:
41
+ no_permission: Vous n'avez pas la permission de retirer un membre du partage
42
+ form:
43
+ new:
44
+ repo_folder: Créer un dossier
45
+ repo_file: Envoyer un fichier
@@ -1,3 +1,3 @@
1
1
  module RepositoryManager
2
- VERSION = '0.1.21'
2
+ VERSION = '0.1.24'
3
3
  end
Binary file
@@ -59,6 +59,8 @@ describe 'HasRepository' do
59
59
 
60
60
  @user1.share(rep, members)
61
61
 
62
+ expect(rep.errors.messages).to eq({sharing: ['You don\'t have the permission to share this item']})
63
+
62
64
  expect(@user2.sharings.count).to eq(0)
63
65
  expect(@user1.sharings_owners.count).to eq(0)
64
66
  end
@@ -229,6 +231,8 @@ describe 'HasRepository' do
229
231
 
230
232
  # Here we can't share 'Parent' or 'Children' because it already exist a nested sharing.
231
233
  expect(@user1.share(parent, @user2)).to eq(false) # Returns false
234
+ expect(parent.errors.messages).to eq({sharing: ['You can\'t share this item because another sharing exist on its ancestors or descendants']})
235
+
232
236
  end
233
237
 
234
238
  it 'can\'t share a repo_item with ancestor sharing permissions' do
@@ -21,14 +21,20 @@ describe 'RepoItem' do
21
21
  end
22
22
 
23
23
  it 'can\'t create a folder in it a file' do
24
- folder = @user1.create_folder('Folder1', source_folder: @user1_file)
24
+ options = {source_folder: @user1_file}
25
+ folder = @user1.create_folder('Folder1', options)
26
+
27
+ expect(options[:errors]).to eq(['The folder was not created'])
25
28
 
26
29
  expect(folder).to eq(false)
27
30
  end
28
31
 
29
32
 
30
33
  it 'can\'t create a folder in another folder without permission' do
31
- folder = @user2.create_folder('Folder1', source_folder: @user1_folder)
34
+ options = {source_folder: @user1_folder}
35
+ folder = @user2.create_folder('Folder1', options)
36
+
37
+ expect(options[:errors]).to eq(['You don\'t have the permission to create a folder'])
32
38
 
33
39
  expect(@user1_folder.has_children?).to eq(false)
34
40
  expect(folder).to eq(false)
@@ -62,6 +68,8 @@ describe 'RepoItem' do
62
68
 
63
69
  it 'can\'t delete a repo_item without permission' do
64
70
  @user2.delete_repo_item(@user1_file)
71
+ expect(@user1_file.errors.messages).to eq({delete: ['You don\'t have the permission to delete this item']})
72
+
65
73
  expect(@user1.repo_items.count).to eq(2)
66
74
  end
67
75
 
@@ -97,6 +105,8 @@ describe 'RepoItem' do
97
105
  it 'user can\'t download a file without permission' do
98
106
  path = @user2.download(@user1_file)
99
107
  expect(path).to eq(false)
108
+ expect(@user1_file.errors.messages).to eq({download: ['You don\'t have the permission to download this item']})
109
+
100
110
  end
101
111
 
102
112
  #it 'download the file if there is just one in a folder (no zip)' do
@@ -191,6 +201,8 @@ describe 'RepoItem' do
191
201
 
192
202
  it 'can\'t rename item without share update permission' do
193
203
  @user2.rename_repo_item(@user1_folder, 'test new name')
204
+ expect(@user1_folder.errors.messages).to eq({rename: ['You don\'t have the permission to rename this item']})
205
+
194
206
  expect(@user1_folder.reload.name).to eq('Folder')
195
207
  end
196
208
 
@@ -202,20 +214,19 @@ describe 'RepoItem' do
202
214
  folder5 = @user1.create_folder()
203
215
  folder6 = @user1.create_folder('', source_folder: folder1)
204
216
 
205
-
206
-
207
- # TODO add translate in gem
208
- expect(folder1.name).to eq('translation missing: en.repository_manager.models.repo_folder.name')
209
- expect(folder2.name).to eq('translation missing: en.repository_manager.models.repo_folder.name 2')
210
- expect(folder3.name).to eq('translation missing: en.repository_manager.models.repo_folder.name')
211
- expect(folder4.name).to eq('translation missing: en.repository_manager.models.repo_folder.name 2')
212
- expect(folder5.name).to eq('translation missing: en.repository_manager.models.repo_folder.name 3')
213
- expect(folder6.name).to eq('translation missing: en.repository_manager.models.repo_folder.name 3')
217
+ expect(folder1.name).to eq('New folder')
218
+ expect(folder2.name).to eq('New folder 2')
219
+ expect(folder3.name).to eq('New folder')
220
+ expect(folder4.name).to eq('New folder 2')
221
+ expect(folder5.name).to eq('New folder 3')
222
+ expect(folder6.name).to eq('New folder 3')
214
223
  end
215
224
 
216
225
  it 'can\'t create a folder with the same name at root' do
217
226
  @user1.create_folder('test')
218
- folder2 = @user1.create_folder('test')
227
+ folder2 = @user1.create_folder('test',options={})
228
+
229
+ expect(options[:errors]).to eq(['This folder already exist'])
219
230
 
220
231
  expect(folder2).to eq(false)
221
232
  end
@@ -232,8 +243,11 @@ describe 'RepoItem' do
232
243
  it "can't create too file with the same name in folder" do
233
244
  file = @user1.create_file(File.open("#{Rails.root}/../fixture/textfile.txt"), source_folder: @user1_folder)
234
245
  expect(file.name).to eq('textfile.txt')
235
- file2 = @user1.create_file(File.open("#{Rails.root}/../fixture/textfile.txt"), source_folder: @user1_folder)
246
+ options = {source_folder: @user1_folder}
247
+ file2 = @user1.create_file(File.open("#{Rails.root}/../fixture/textfile.txt"), options)
236
248
  expect(file2).to eq(false)
249
+ expect(options[:errors]).to eq(['This file already exist'])
250
+
237
251
 
238
252
  #@user1.create_file!(File.open("#{Rails.root}/../fixture/textfile.txt"), source_folder: @user1_folder)
239
253
  end
@@ -280,6 +294,9 @@ describe 'RepoItem' do
280
294
  folder = @user2.create_folder('folder')
281
295
 
282
296
  expect(@user2.move_repo_item(folder, file)).to eq(false)
297
+ expect(folder.errors.messages).to eq({move: ['This item was not moved']})
298
+
299
+
283
300
  end
284
301
 
285
302
  it "move_repo_item default to the root of the self owner" do
@@ -294,15 +311,20 @@ describe 'RepoItem' do
294
311
  it "move_repo_item can't move a file into a root if file already exist" do
295
312
  file = @user1.create_file(File.open("#{Rails.root}/../fixture/textfile.txt"), source_folder: @user1_folder)
296
313
  expect(@user1.move_repo_item(file)).to eq(false)
314
+ expect(file.errors.messages).to eq({move: ['This item already exist in the target destination']})
315
+
297
316
  end
298
317
 
299
318
  it "move_repo_item can't move if no permission" do
300
319
  file = @user1.create_file(File.open("#{Rails.root}/../fixture/textfile.txt"), source_folder: @user1_folder)
301
320
  expect(@user2.move_repo_item(file)).to eq(false)
321
+ expect(file.errors.messages).to eq({move: ['You don\'t have the permission to move this item']})
322
+
302
323
  end
303
324
 
304
- it "can't copy a file withour permission" do
305
- expect(@user2.copy_repo_item(@user1_file)).to eq(false)
325
+ it "can't copy a file without permission" do
326
+ expect(@user2.copy_repo_item(@user1_file)).to eq(false)
327
+ expect(@user1_file.errors.messages).to eq({copy: ['You don\'t have the permission to copy this item']})
306
328
  end
307
329
 
308
330
  it "can copy a file with read permission" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: repository-manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.21
4
+ version: 0.1.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yves Baumann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-02 00:00:00.000000000 Z
11
+ date: 2014-03-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -139,6 +139,8 @@ files:
139
139
  - lib/repository_manager/engine.rb
140
140
  - lib/repository_manager/exceptions.rb
141
141
  - lib/repository_manager/has_repository.rb
142
+ - lib/repository_manager/locales/repository_manager.en.yml
143
+ - lib/repository_manager/locales/repository_manager.fr.yml
142
144
  - lib/repository_manager/version.rb
143
145
  - repository-manager.gemspec
144
146
  - spec/dummy/Gemfile