repository-manager 0.1.21 → 0.1.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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