teamlab 0.1.4 → 0.2.1
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.
- data/lib/teamlab/Config.rb +1 -2
- data/lib/teamlab/Modules/Calendar.rb +1 -1
- data/lib/teamlab/Modules/Community.rb +1 -1
- data/lib/teamlab/Modules/Crm.rb +1 -1
- data/lib/teamlab/Modules/Files.rb +9 -5
- data/lib/teamlab/Modules/Group.rb +1 -1
- data/lib/teamlab/Modules/Mail.rb +20 -1
- data/lib/teamlab/Modules/People.rb +2 -2
- data/lib/teamlab/Modules/Project.rb +70 -41
- data/lib/teamlab/Modules/Settings.rb +10 -10
- data/lib/teamlab/Request.rb +12 -8
- data/lib/teamlab/version.rb +1 -1
- data/lib/teamlab.rb +0 -9
- data/spec/lib/Teamlab_spec.rb +706 -177
- data/spec/support/http_data.rb +32 -56
- data/teamlab.gemspec +1 -1
- metadata +3 -3
    
        data/spec/lib/Teamlab_spec.rb
    CHANGED
    
    | @@ -14,7 +14,7 @@ describe Teamlab do | |
| 14 14 | 
             
                before do
         | 
| 15 15 | 
             
                  @module = Teamlab.send(teamlab_module)
         | 
| 16 16 | 
             
                  @response = args.empty? ? @module.send(command) : @module.send(command, *args)
         | 
| 17 | 
            -
                  DATA_COLLECTOR[data_param] << @response.body['response'][ | 
| 17 | 
            +
                  DATA_COLLECTOR[data_param] << param_names.inject(@response.body['response']) { |resp, param| resp[param] } if add_data_to_collector
         | 
| 18 18 | 
             
                end
         | 
| 19 19 |  | 
| 20 20 | 
             
                context 'Successful api request' do
         | 
| @@ -55,34 +55,34 @@ describe Teamlab do | |
| 55 55 | 
             
                describe '#search_people' do
         | 
| 56 56 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 57 57 | 
             
                    let(:command) { :search_people }
         | 
| 58 | 
            -
                    let(:args) { random_word(4 | 
| 58 | 
            +
                    let(:args) { random_word(4) }
         | 
| 59 59 | 
             
                  end
         | 
| 60 60 | 
             
                end
         | 
| 61 61 |  | 
| 62 62 | 
             
                describe '#filter' do
         | 
| 63 63 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 64 64 | 
             
                    let(:command) { :filter_people }
         | 
| 65 | 
            -
                    let(:args) {  | 
| 65 | 
            +
                    let(:args) { { activationStatus: 1 } }
         | 
| 66 66 | 
             
                  end
         | 
| 67 67 | 
             
                end
         | 
| 68 68 |  | 
| 69 69 | 
             
                describe '#add_user' do
         | 
| 70 70 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 71 71 | 
             
                    let(:command) { :add_user }
         | 
| 72 | 
            -
                    let(:args) { [random_bool, random_email, random_word | 
| 72 | 
            +
                    let(:args) { [random_bool, random_email, random_word.capitalize, random_word.capitalize] }
         | 
| 73 73 | 
             
                    let(:add_data_to_collector) { true }
         | 
| 74 | 
            -
                    let(:data_param) {: | 
| 75 | 
            -
                    let(: | 
| 74 | 
            +
                    let(:data_param) {:new_user_ids}
         | 
| 75 | 
            +
                    let(:param_names) {%w(id)}
         | 
| 76 76 | 
             
                  end
         | 
| 77 77 | 
             
                end
         | 
| 78 78 |  | 
| 79 79 | 
             
                describe '#get_user_by_username' do
         | 
| 80 80 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 81 81 | 
             
                    let(:command) { :get_user_by_username }
         | 
| 82 | 
            -
                    let(:args) { DATA_COLLECTOR[: | 
| 82 | 
            +
                    let(:args) { DATA_COLLECTOR[:new_user_ids].first }
         | 
| 83 83 | 
             
                    let(:add_data_to_collector) { true }
         | 
| 84 84 | 
             
                    let(:data_param) {:emails}
         | 
| 85 | 
            -
                    let(: | 
| 85 | 
            +
                    let(:param_names) {%w(email)}
         | 
| 86 86 | 
             
                  end
         | 
| 87 87 | 
             
                end
         | 
| 88 88 |  | 
| @@ -103,7 +103,7 @@ describe Teamlab do | |
| 103 103 | 
             
                describe '#remind_password' do
         | 
| 104 104 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 105 105 | 
             
                    let(:command) { :remind_password }
         | 
| 106 | 
            -
                    let(:args) { [DATA_COLLECTOR[: | 
| 106 | 
            +
                    let(:args) { [DATA_COLLECTOR[:new_user_ids].first, DATA_COLLECTOR[:emails].pop] }
         | 
| 107 107 | 
             
                  end
         | 
| 108 108 | 
             
                end
         | 
| 109 109 |  | 
| @@ -117,14 +117,14 @@ describe Teamlab do | |
| 117 117 | 
             
                describe '#update_contacts' do
         | 
| 118 118 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 119 119 | 
             
                    let(:command) { :update_contacts }
         | 
| 120 | 
            -
                    let(:args) { [ | 
| 120 | 
            +
                    let(:args) { [random_id(:new_user), USER_CONTACTS] }
         | 
| 121 121 | 
             
                  end
         | 
| 122 122 | 
             
                end
         | 
| 123 123 |  | 
| 124 124 | 
             
                describe '#send_invite' do
         | 
| 125 125 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 126 126 | 
             
                    let(:command) { :send_invite }
         | 
| 127 | 
            -
                    let(:args) { [DATA_COLLECTOR[: | 
| 127 | 
            +
                    let(:args) { [DATA_COLLECTOR[:new_user_ids]] }
         | 
| 128 128 | 
             
                  end
         | 
| 129 129 | 
             
                end
         | 
| 130 130 |  | 
| @@ -138,61 +138,62 @@ describe Teamlab do | |
| 138 138 | 
             
                describe '#update_user' do
         | 
| 139 139 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 140 140 | 
             
                    let(:command) { :update_user }
         | 
| 141 | 
            -
                    let(:args) { [ | 
| 141 | 
            +
                    let(:args) { [random_id(:new_user), random_bool, random_email, random_word, random_word, { comment: random_word}] }
         | 
| 142 142 | 
             
                  end
         | 
| 143 143 | 
             
                end
         | 
| 144 144 |  | 
| 145 145 | 
             
                describe '#change_people_type' do
         | 
| 146 146 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 147 147 | 
             
                    let(:command) { :change_people_type }
         | 
| 148 | 
            -
                    let(:args) { [USER_TYPES.sample, DATA_COLLECTOR[: | 
| 148 | 
            +
                    let(:args) { [USER_TYPES.sample, DATA_COLLECTOR[:new_user_ids]] }
         | 
| 149 149 | 
             
                  end
         | 
| 150 150 | 
             
                end
         | 
| 151 151 |  | 
| 152 152 | 
             
                describe '#update_photo' do
         | 
| 153 153 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 154 154 | 
             
                    let(:command) { :update_photo }
         | 
| 155 | 
            -
                    let(:args) { [ | 
| 155 | 
            +
                    let(:args) { [random_id(:new_user), PATH_TO_IMAGE] }
         | 
| 156 156 | 
             
                  end
         | 
| 157 157 | 
             
                end
         | 
| 158 158 |  | 
| 159 159 | 
             
                describe '#change_people_status' do
         | 
| 160 160 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 161 161 | 
             
                    let(:command) { :change_people_status }
         | 
| 162 | 
            -
                    let(:args) { [ USER_STATUSES.sample, DATA_COLLECTOR[: | 
| 162 | 
            +
                    let(:args) { [ USER_STATUSES.sample, DATA_COLLECTOR[:new_user_ids]] }
         | 
| 163 163 | 
             
                  end
         | 
| 164 164 | 
             
                end
         | 
| 165 165 |  | 
| 166 166 | 
             
                describe '#add_contacts' do
         | 
| 167 167 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 168 168 | 
             
                    let(:command) { :add_contacts }
         | 
| 169 | 
            -
                    let(:args) { [ USER_CONTACTS,  | 
| 169 | 
            +
                    let(:args) { [ USER_CONTACTS, random_id(:new_user)] }
         | 
| 170 170 | 
             
                  end
         | 
| 171 171 | 
             
                end
         | 
| 172 172 |  | 
| 173 173 | 
             
                describe '#delete_photo' do
         | 
| 174 174 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 175 175 | 
             
                    let(:command) { :delete_photo }
         | 
| 176 | 
            -
                    let(:args) {  | 
| 176 | 
            +
                    let(:args) { random_id(:new_user) }
         | 
| 177 177 | 
             
                  end
         | 
| 178 178 | 
             
                end
         | 
| 179 179 |  | 
| 180 180 | 
             
                describe '#delete_contacts' do
         | 
| 181 181 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 182 182 | 
             
                    let(:command) { :delete_contacts }
         | 
| 183 | 
            -
                    let(:args) { [ | 
| 183 | 
            +
                    let(:args) { [random_id(:new_user), USER_CONTACTS] }
         | 
| 184 184 | 
             
                  end
         | 
| 185 185 | 
             
                end
         | 
| 186 186 |  | 
| 187 187 | 
             
                describe '#delete_user' do
         | 
| 188 188 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 189 189 | 
             
                    let(:command) { :delete_user }
         | 
| 190 | 
            -
                    let(:args) { DATA_COLLECTOR[: | 
| 190 | 
            +
                    let(:args) { DATA_COLLECTOR[:new_user_ids].pop }
         | 
| 191 191 | 
             
                  end
         | 
| 192 192 | 
             
                end
         | 
| 193 193 | 
             
              end
         | 
| 194 194 |  | 
| 195 195 | 
             
              describe '[Group]' do
         | 
| 196 | 
            +
             | 
| 196 197 | 
             
                let(:teamlab_module) { :group }
         | 
| 197 198 |  | 
| 198 199 | 
             
                describe '#get_groups' do
         | 
| @@ -201,71 +202,75 @@ describe Teamlab do | |
| 201 202 | 
             
                  end
         | 
| 202 203 | 
             
                end
         | 
| 203 204 |  | 
| 204 | 
            -
                describe '# | 
| 205 | 
            +
                describe '#add_group' do
         | 
| 205 206 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 206 | 
            -
                    let(:command) { : | 
| 207 | 
            -
                    let(:args) {  | 
| 207 | 
            +
                    let(:command) { :add_group }
         | 
| 208 | 
            +
                    let(:args) { [random_id(:user), random_word, DATA_COLLECTOR[:user_ids]] }
         | 
| 209 | 
            +
                    let(:add_data_to_collector) { true }
         | 
| 210 | 
            +
                    let(:data_param) {:group_ids}
         | 
| 211 | 
            +
                    let(:param_names) {%w(id)}
         | 
| 208 212 | 
             
                  end
         | 
| 209 213 | 
             
                end
         | 
| 210 214 |  | 
| 211 | 
            -
                describe '# | 
| 215 | 
            +
                describe '#get_group' do
         | 
| 212 216 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 213 | 
            -
                    let(:command) { : | 
| 214 | 
            -
                    let(:args) {  | 
| 217 | 
            +
                    let(:command) { :get_group }
         | 
| 218 | 
            +
                    let(:args) { random_id(:group) }
         | 
| 215 219 | 
             
                  end
         | 
| 216 220 | 
             
                end
         | 
| 217 221 |  | 
| 218 222 | 
             
                describe '#replace_members' do
         | 
| 219 223 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 220 224 | 
             
                    let(:command) { :replace_members }
         | 
| 221 | 
            -
                    let(:args) { [ | 
| 225 | 
            +
                    let(:args) { [random_id(:group), DATA_COLLECTOR[:user_ids]] }
         | 
| 222 226 | 
             
                  end
         | 
| 223 227 | 
             
                end
         | 
| 224 228 |  | 
| 225 229 | 
             
                describe '#update_group' do
         | 
| 226 230 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 227 231 | 
             
                    let(:command) { :update_group }
         | 
| 228 | 
            -
                    let(:args) { [ | 
| 232 | 
            +
                    let(:args) { [random_id(:group), { groupManager: random_id(:user), groupName: random_word, members: DATA_COLLECTOR[:user_ids] }] }
         | 
| 229 233 | 
             
                  end
         | 
| 230 234 | 
             
                end
         | 
| 231 235 |  | 
| 232 236 | 
             
                describe '#add_group_users' do
         | 
| 233 237 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 234 238 | 
             
                    let(:command) { :add_group_users }
         | 
| 235 | 
            -
                    let(:args) { [ | 
| 239 | 
            +
                    let(:args) { [random_id(:group), DATA_COLLECTOR[:user_ids]] }
         | 
| 236 240 | 
             
                  end
         | 
| 237 241 | 
             
                end
         | 
| 238 242 |  | 
| 239 243 | 
             
                describe '#set_group_manager' do
         | 
| 240 244 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 241 245 | 
             
                    let(:command) { :set_group_manager }
         | 
| 242 | 
            -
                    let(:args) { [ | 
| 246 | 
            +
                    let(:args) { [random_id(:group), random_id(:user)] }
         | 
| 243 247 | 
             
                  end
         | 
| 244 248 | 
             
                end
         | 
| 245 249 |  | 
| 246 250 | 
             
                describe '#move_group_members' do
         | 
| 247 251 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 248 252 | 
             
                    let(:command) { :move_group_members }
         | 
| 249 | 
            -
                    let(:args) { [ | 
| 253 | 
            +
                    let(:args) { [random_id(:group), random_id(:group)] }
         | 
| 250 254 | 
             
                  end
         | 
| 251 255 | 
             
                end
         | 
| 252 256 |  | 
| 253 | 
            -
                describe '# | 
| 257 | 
            +
                describe '#remove_group_members' do
         | 
| 254 258 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 255 | 
            -
                    let(:command) { : | 
| 256 | 
            -
                    let(:args) {  | 
| 259 | 
            +
                    let(:command) { :remove_group_members }
         | 
| 260 | 
            +
                    let(:args) { random_id(:group) }
         | 
| 257 261 | 
             
                  end
         | 
| 258 262 | 
             
                end
         | 
| 259 263 |  | 
| 260 | 
            -
                describe '# | 
| 264 | 
            +
                describe '#delete_group' do
         | 
| 261 265 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 262 | 
            -
                    let(:command) { : | 
| 263 | 
            -
                    let(:args) {  | 
| 266 | 
            +
                    let(:command) { :delete_group }
         | 
| 267 | 
            +
                    let(:args) { DATA_COLLECTOR[:group_ids].pop }
         | 
| 264 268 | 
             
                  end
         | 
| 265 269 | 
             
                end
         | 
| 266 270 | 
             
              end
         | 
| 267 271 |  | 
| 268 272 | 
             
              describe '[Settings]' do
         | 
| 273 | 
            +
             | 
| 269 274 | 
             
                let(:teamlab_module) { :settings }
         | 
| 270 275 |  | 
| 271 276 | 
             
                describe '#get_settings' do
         | 
| @@ -295,210 +300,247 @@ describe Teamlab do | |
| 295 300 | 
             
                describe '#get_security' do
         | 
| 296 301 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 297 302 | 
             
                    let(:command) { :get_security }
         | 
| 298 | 
            -
                    let(:args) { [ | 
| 303 | 
            +
                    let(:args) { [random_settings_entity_id] }
         | 
| 299 304 | 
             
                  end
         | 
| 300 305 | 
             
                end
         | 
| 301 306 |  | 
| 302 307 | 
             
                describe '#get_admin_security' do
         | 
| 303 308 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 304 309 | 
             
                    let(:command) { :get_admin_security }
         | 
| 305 | 
            -
                    let(:args) { [ | 
| 310 | 
            +
                    let(:args) { [random_settings_entity_id, random_id(:user)] }
         | 
| 306 311 | 
             
                  end
         | 
| 307 312 | 
             
                end
         | 
| 308 313 |  | 
| 309 314 | 
             
                describe '#get_product_admin' do
         | 
| 310 315 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 311 316 | 
             
                    let(:command) { :get_product_admin }
         | 
| 312 | 
            -
                    let(:args) { [ | 
| 317 | 
            +
                    let(:args) { [random_settings_entity_id] }
         | 
| 313 318 | 
             
                  end
         | 
| 314 319 | 
             
                end
         | 
| 315 320 |  | 
| 316 321 | 
             
                describe '#set_version' do
         | 
| 317 322 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 318 323 | 
             
                    let(:command) { :set_version }
         | 
| 319 | 
            -
                    let(:args) { [ | 
| 324 | 
            +
                    let(:args) { [rand(2..50)] }
         | 
| 320 325 | 
             
                  end
         | 
| 321 326 | 
             
                end
         | 
| 322 327 |  | 
| 323 328 | 
             
                describe '#set_security' do
         | 
| 324 329 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 325 330 | 
             
                    let(:command) { :set_security }
         | 
| 326 | 
            -
                    let(:args) { [ | 
| 331 | 
            +
                    let(:args) { [random_settings_entity_id, {enabled: random_bool}] }
         | 
| 327 332 | 
             
                  end
         | 
| 328 333 | 
             
                end
         | 
| 329 334 |  | 
| 330 335 | 
             
                describe '#set_access' do
         | 
| 331 336 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 332 337 | 
             
                    let(:command) { :set_access }
         | 
| 333 | 
            -
                    let(:args) { [ | 
| 338 | 
            +
                    let(:args) { [random_settings_entity_id, random_bool] }
         | 
| 334 339 | 
             
                  end
         | 
| 335 340 | 
             
                end
         | 
| 336 341 |  | 
| 337 342 | 
             
                describe '#set_product_admin' do
         | 
| 338 343 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 339 344 | 
             
                    let(:command) { :set_product_admin }
         | 
| 340 | 
            -
                    let(:args) { [ | 
| 345 | 
            +
                    let(:args) { [random_settings_entity_id, random_id(:user)] }
         | 
| 341 346 | 
             
                  end
         | 
| 342 347 | 
             
                end
         | 
| 343 348 | 
             
              end
         | 
| 344 349 |  | 
| 345 | 
            -
              describe '[ | 
| 350 | 
            +
              describe '[Files]' do
         | 
| 351 | 
            +
             | 
| 346 352 | 
             
                let(:teamlab_module) { :files }
         | 
| 347 353 |  | 
| 348 354 | 
             
                describe '#get_my_files' do
         | 
| 349 355 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 350 356 | 
             
                    let(:command) { :get_my_files }
         | 
| 357 | 
            +
                    #let(:add_data_to_collector) { true }
         | 
| 358 | 
            +
                    #let(:data_param) {:my_documents_ids}
         | 
| 359 | 
            +
                    #let(:param_names) {%w(current id)}
         | 
| 351 360 | 
             
                  end
         | 
| 352 361 | 
             
                end
         | 
| 353 362 |  | 
| 354 363 | 
             
                describe '#get_trash' do
         | 
| 355 364 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 356 365 | 
             
                    let(:command) { :get_trash }
         | 
| 366 | 
            +
                    let(:add_data_to_collector) { true }
         | 
| 367 | 
            +
                    let(:data_param) {:trash_documents_ids}
         | 
| 368 | 
            +
                    let(:param_names) {%w(current id)}
         | 
| 357 369 | 
             
                  end
         | 
| 358 370 | 
             
                end
         | 
| 359 371 |  | 
| 360 | 
            -
                describe '# | 
| 372 | 
            +
                describe '#get_shared_docs' do
         | 
| 361 373 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 362 | 
            -
                    let(:command) { : | 
| 363 | 
            -
                    let(: | 
| 374 | 
            +
                    let(:command) { :get_shared_docs }
         | 
| 375 | 
            +
                    let(:add_data_to_collector) { true }
         | 
| 376 | 
            +
                    let(:data_param) {:shared_documents_ids}
         | 
| 377 | 
            +
                    let(:param_names) {%w(current id)}
         | 
| 364 378 | 
             
                  end
         | 
| 365 379 | 
             
                end
         | 
| 366 380 |  | 
| 367 | 
            -
                describe '# | 
| 381 | 
            +
                describe '#get_common_docs' do
         | 
| 368 382 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 369 | 
            -
                    let(:command) { : | 
| 370 | 
            -
                    let(: | 
| 383 | 
            +
                    let(:command) { :get_common_docs }
         | 
| 384 | 
            +
                    let(:add_data_to_collector) { true }
         | 
| 385 | 
            +
                    let(:data_param) {:common_documents_ids}
         | 
| 386 | 
            +
                    let(:param_names) {%w(current id)}
         | 
| 371 387 | 
             
                  end
         | 
| 372 388 | 
             
                end
         | 
| 373 389 |  | 
| 374 | 
            -
                describe '# | 
| 390 | 
            +
                describe '#new_folder' do
         | 
| 375 391 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 376 | 
            -
                    let(:command) { : | 
| 377 | 
            -
                    let(:args) { [ | 
| 392 | 
            +
                    let(:command) { :new_folder }
         | 
| 393 | 
            +
                    let(:args) { [random_id(:my_documents), random_word] }
         | 
| 394 | 
            +
                    let(:add_data_to_collector) { true }
         | 
| 395 | 
            +
                    let(:data_param) {:new_folder_ids}
         | 
| 396 | 
            +
                    let(:param_names) {%w(current id)}
         | 
| 378 397 | 
             
                  end
         | 
| 379 398 | 
             
                end
         | 
| 380 399 |  | 
| 381 | 
            -
                describe '# | 
| 400 | 
            +
                describe '#get_folder' do
         | 
| 382 401 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 383 | 
            -
                    let(:command) { : | 
| 402 | 
            +
                    let(:command) { :get_folder }
         | 
| 403 | 
            +
                    let(:args) { random_id(:new_folder) }
         | 
| 384 404 | 
             
                  end
         | 
| 385 405 | 
             
                end
         | 
| 386 406 |  | 
| 387 | 
            -
                describe '# | 
| 407 | 
            +
                describe '#rename_folder' do
         | 
| 388 408 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 389 | 
            -
                    let(:command) { : | 
| 409 | 
            +
                    let(:command) { :rename_folder }
         | 
| 410 | 
            +
                    let(:args) { [random_id(:new_folder), random_word] }
         | 
| 390 411 | 
             
                  end
         | 
| 391 412 | 
             
                end
         | 
| 392 413 |  | 
| 393 414 | 
             
                describe '#search' do
         | 
| 394 415 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 395 416 | 
             
                    let(:command) { :search }
         | 
| 396 | 
            -
                    let(:args) {  | 
| 417 | 
            +
                    let(:args) { random_word }
         | 
| 397 418 | 
             
                  end
         | 
| 398 419 | 
             
                end
         | 
| 399 420 |  | 
| 400 421 | 
             
                describe '#get_recent_upload_files' do
         | 
| 401 422 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 402 423 | 
             
                    let(:command) { :get_recent_upload_files }
         | 
| 403 | 
            -
                    let(:args) {  | 
| 424 | 
            +
                    let(:args) { [random_id(:my_documents)] }
         | 
| 404 425 | 
             
                  end
         | 
| 405 426 | 
             
                end
         | 
| 406 427 |  | 
| 407 | 
            -
                describe '# | 
| 408 | 
            -
                  it_should_behave_like 'an api request' do
         | 
| 409 | 
            -
                    let(:command) { :get_share_link }
         | 
| 410 | 
            -
                    let(:args) { [FOLDER_FOR_OPERATIONS_ID, FILES_SHARE_TYPE] }
         | 
| 411 | 
            -
                  end
         | 
| 412 | 
            -
                end
         | 
| 413 | 
            -
             | 
| 414 | 
            -
                describe '#upload_to_my_docs' do
         | 
| 415 | 
            -
                  it_should_behave_like 'an api request' do
         | 
| 416 | 
            -
                    let(:command) { :upload_to_my_docs }
         | 
| 417 | 
            -
                    let(:args) { FILE_TO_UPLOAD }
         | 
| 418 | 
            -
                  end
         | 
| 419 | 
            -
                end
         | 
| 420 | 
            -
             | 
| 421 | 
            -
                describe '#upload_to_common_docs' do
         | 
| 428 | 
            +
                describe '#create_file' do
         | 
| 422 429 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 423 | 
            -
                    let(:command) { : | 
| 424 | 
            -
                    let(:args) {  | 
| 430 | 
            +
                    let(:command) { :create_file }
         | 
| 431 | 
            +
                    let(:args) { [random_id(:new_folder), random_word] }
         | 
| 432 | 
            +
                    let(:add_data_to_collector) { true }
         | 
| 433 | 
            +
                    let(:data_param) {:new_file_ids}
         | 
| 434 | 
            +
                    let(:param_names) {%w(id)}
         | 
| 425 435 | 
             
                  end
         | 
| 426 436 | 
             
                end
         | 
| 427 437 |  | 
| 428 | 
            -
                describe '# | 
| 438 | 
            +
                describe '#generate_shared_link' do
         | 
| 429 439 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 430 | 
            -
                    let(:command) { : | 
| 431 | 
            -
                    let(:args) { [ | 
| 440 | 
            +
                    let(:command) { :generate_shared_link }
         | 
| 441 | 
            +
                    let(:args) { [random_id(:new_file), FILES_SHARE_TYPES.sample] }
         | 
| 432 442 | 
             
                  end
         | 
| 433 443 | 
             
                end
         | 
| 434 444 |  | 
| 435 | 
            -
                describe '# | 
| 436 | 
            -
             | 
| 437 | 
            -
             | 
| 438 | 
            -
             | 
| 439 | 
            -
             | 
| 440 | 
            -
                end
         | 
| 445 | 
            +
                #describe '#upload_to_my_docs' do
         | 
| 446 | 
            +
                #  it_should_behave_like 'an api request' do
         | 
| 447 | 
            +
                #    let(:command) { :upload_to_my_docs }
         | 
| 448 | 
            +
                #    let(:args) { FILE_TO_UPLOAD }
         | 
| 449 | 
            +
                #  end
         | 
| 450 | 
            +
                #end
         | 
| 451 | 
            +
                #
         | 
| 452 | 
            +
                #describe '#upload_to_common_docs' do
         | 
| 453 | 
            +
                #  it_should_behave_like 'an api request' do
         | 
| 454 | 
            +
                #    let(:command) { :upload_to_common_docs }
         | 
| 455 | 
            +
                #    let(:args) { FILE_TO_UPLOAD }
         | 
| 456 | 
            +
                #  end
         | 
| 457 | 
            +
                #end
         | 
| 458 | 
            +
                #
         | 
| 459 | 
            +
                #describe '#upload_to_folder' do
         | 
| 460 | 
            +
                #  it_should_behave_like 'an api request' do
         | 
| 461 | 
            +
                #    let(:command) { :upload_to_folder }
         | 
| 462 | 
            +
                #    let(:args) { [random_id(:new_folder), FILE_TO_UPLOAD] }
         | 
| 463 | 
            +
                #  end
         | 
| 464 | 
            +
                #end
         | 
| 465 | 
            +
                #
         | 
| 466 | 
            +
                #describe '#chunked_upload' do
         | 
| 467 | 
            +
                #  it_should_behave_like 'an api request' do
         | 
| 468 | 
            +
                #    let(:command) { :chunked_upload }
         | 
| 469 | 
            +
                #    let(:args) { [random_id(:new_folder), FILE_TO_UPLOAD] }
         | 
| 470 | 
            +
                #  end
         | 
| 471 | 
            +
                #end
         | 
| 441 472 |  | 
| 442 473 | 
             
                describe '#create_txt_in_my_docs' do
         | 
| 443 474 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 444 475 | 
             
                    let(:command) { :create_txt_in_my_docs }
         | 
| 445 | 
            -
                    let(:args) { [ | 
| 476 | 
            +
                    let(:args) { [random_word, random_word(rand(100))] }
         | 
| 477 | 
            +
                    #let(:add_data_to_collector) { true }
         | 
| 478 | 
            +
                    #let(:data_param) {:some_file_ids}
         | 
| 479 | 
            +
                    #let(:param_names) {%w(current id)}
         | 
| 446 480 | 
             
                  end
         | 
| 447 481 | 
             
                end
         | 
| 448 482 |  | 
| 449 483 | 
             
                describe '#create_html_in_my_docs' do
         | 
| 450 484 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 451 485 | 
             
                    let(:command) { :create_html_in_my_docs }
         | 
| 452 | 
            -
                    let(:args) { [ | 
| 486 | 
            +
                    let(:args) { [random_word, random_word(rand(100))] }
         | 
| 487 | 
            +
                    #let(:add_data_to_collector) { true }
         | 
| 488 | 
            +
                    #let(:data_param) {:some_file_ids}
         | 
| 489 | 
            +
                    #let(:param_names) {%w(current id)}
         | 
| 453 490 | 
             
                  end
         | 
| 454 491 | 
             
                end
         | 
| 455 492 |  | 
| 456 493 | 
             
                describe '#create_txt_in_common_docs' do
         | 
| 457 494 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 458 495 | 
             
                    let(:command) { :create_txt_in_common_docs }
         | 
| 459 | 
            -
                    let(:args) { [ | 
| 496 | 
            +
                    let(:args) { [random_word, random_word(rand(100))] }
         | 
| 497 | 
            +
                    #let(:add_data_to_collector) { true }
         | 
| 498 | 
            +
                    #let(:data_param) {:some_file_ids}
         | 
| 499 | 
            +
                    #let(:param_names) {%w(current id)}
         | 
| 460 500 | 
             
                  end
         | 
| 461 501 | 
             
                end
         | 
| 462 502 |  | 
| 463 503 | 
             
                describe '#create_html_in_common_docs' do
         | 
| 464 504 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 465 505 | 
             
                    let(:command) { :create_html_in_common_docs }
         | 
| 466 | 
            -
                    let(:args) { [ | 
| 506 | 
            +
                    let(:args) { [random_word, random_word(rand(100))] }
         | 
| 507 | 
            +
                    #let(:add_data_to_collector) { true }
         | 
| 508 | 
            +
                    #let(:data_param) {:some_file_ids}
         | 
| 509 | 
            +
                    #let(:param_names) {%w(current id)}
         | 
| 467 510 | 
             
                  end
         | 
| 468 511 | 
             
                end
         | 
| 469 512 |  | 
| 470 513 | 
             
                describe '#create_txt' do
         | 
| 471 514 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 472 515 | 
             
                    let(:command) { :create_txt }
         | 
| 473 | 
            -
                    let(:args) { [ | 
| 516 | 
            +
                    let(:args) { [random_id(:new_folder), random_word, random_word(rand(100))] }
         | 
| 517 | 
            +
                    #let(:add_data_to_collector) { true }
         | 
| 518 | 
            +
                    #let(:data_param) {:some_file_ids}
         | 
| 519 | 
            +
                    #let(:param_names) {%w(current id)}
         | 
| 474 520 | 
             
                  end
         | 
| 475 521 | 
             
                end
         | 
| 476 522 |  | 
| 477 523 | 
             
                describe '#create_html' do
         | 
| 478 524 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 479 525 | 
             
                    let(:command) { :create_html }
         | 
| 480 | 
            -
                    let(:args) { [ | 
| 481 | 
            -
             | 
| 482 | 
            -
             | 
| 483 | 
            -
             | 
| 484 | 
            -
                describe '#create_file' do
         | 
| 485 | 
            -
                  it_should_behave_like 'an api request' do
         | 
| 486 | 
            -
                    let(:command) { :create_file }
         | 
| 487 | 
            -
                    let(:args) { [FOLDER_FOR_OPERATIONS_ID, NEW_FILE_NAME] }
         | 
| 526 | 
            +
                    let(:args) { [random_id(:new_folder), random_word, random_word(rand(100))] }
         | 
| 527 | 
            +
                    #let(:add_data_to_collector) { true }
         | 
| 528 | 
            +
                    #let(:data_param) {:some_file_ids}
         | 
| 529 | 
            +
                    #let(:param_names) {%w(current id)}
         | 
| 488 530 | 
             
                  end
         | 
| 489 531 | 
             
                end
         | 
| 490 532 |  | 
| 491 533 | 
             
                describe '#get_file_info' do
         | 
| 492 534 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 493 535 | 
             
                    let(:command) { :get_file_info }
         | 
| 494 | 
            -
                    let(:args) {  | 
| 536 | 
            +
                    let(:args) { [random_id(:new_file)] }
         | 
| 495 537 | 
             
                  end
         | 
| 496 538 | 
             
                end
         | 
| 497 539 |  | 
| 498 540 | 
             
                describe '#get_file_history' do
         | 
| 499 541 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 500 542 | 
             
                    let(:command) { :get_file_history }
         | 
| 501 | 
            -
                    let(:args) {  | 
| 543 | 
            +
                    let(:args) { [random_id(:new_file)] }
         | 
| 502 544 | 
             
                  end
         | 
| 503 545 | 
             
                end
         | 
| 504 546 |  | 
| @@ -512,7 +554,7 @@ describe Teamlab do | |
| 512 554 | 
             
                describe '#update_file_info' do
         | 
| 513 555 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 514 556 | 
             
                    let(:command) { :update_file_info }
         | 
| 515 | 
            -
                    let(:args) { [ | 
| 557 | 
            +
                    let(:args) { [random_id(:new_file), random_word, 1] }
         | 
| 516 558 | 
             
                  end
         | 
| 517 559 | 
             
                end
         | 
| 518 560 |  | 
| @@ -525,21 +567,7 @@ describe Teamlab do | |
| 525 567 | 
             
                describe '#import_from_third_party' do
         | 
| 526 568 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 527 569 | 
             
                    let(:command) { :import_from_third_party }
         | 
| 528 | 
            -
                    let(:args) { [THIRD_PARTY_SERVICE, THIRD_PARTY_FOLDER_ID,  | 
| 529 | 
            -
                  end
         | 
| 530 | 
            -
                end
         | 
| 531 | 
            -
             | 
| 532 | 
            -
                describe '#delete_file' do
         | 
| 533 | 
            -
                  it_should_behave_like 'an api request' do
         | 
| 534 | 
            -
                    let(:command) { :delete_file }
         | 
| 535 | 
            -
                    let(:args) { FILE_TO_DELETE_ID }
         | 
| 536 | 
            -
                  end
         | 
| 537 | 
            -
                end
         | 
| 538 | 
            -
             | 
| 539 | 
            -
                describe '#delete_folder' do
         | 
| 540 | 
            -
                  it_should_behave_like 'an api request' do
         | 
| 541 | 
            -
                    let(:command) { :delete_folder }
         | 
| 542 | 
            -
                    let(:args) { FOLDER_TO_DELETE_ID }
         | 
| 570 | 
            +
                    let(:args) { [THIRD_PARTY_SERVICE, THIRD_PARTY_FOLDER_ID, random_bool, [], THIRD_PARTY_LOGIN_DATA] }
         | 
| 543 571 | 
             
                  end
         | 
| 544 572 | 
             
                end
         | 
| 545 573 |  | 
| @@ -552,21 +580,21 @@ describe Teamlab do | |
| 552 580 | 
             
                describe '#move_files' do
         | 
| 553 581 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 554 582 | 
             
                    let(:command) { :move_files }
         | 
| 555 | 
            -
                    let(:args) { [ | 
| 583 | 
            +
                    let(:args) { [random_id(:new_folder), { fileids: DATA_COLLECTOR[:new_file_ids].sample(rand(1..4)), overwrite: random_bool}] }
         | 
| 556 584 | 
             
                  end
         | 
| 557 585 | 
             
                end
         | 
| 558 586 |  | 
| 559 587 | 
             
                describe '#copy_to_folder' do
         | 
| 560 588 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 561 589 | 
             
                    let(:command) { :copy_to_folder }
         | 
| 562 | 
            -
                    let(:args) { [ | 
| 590 | 
            +
                    let(:args) { [random_id(:new_folder), { fileids: DATA_COLLECTOR[:new_file_ids].sample(rand(1..4)), overwrite: random_bool}] }
         | 
| 563 591 | 
             
                  end
         | 
| 564 592 | 
             
                end
         | 
| 565 593 |  | 
| 566 594 | 
             
                describe '#delete' do
         | 
| 567 595 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 568 596 | 
             
                    let(:command) { :delete }
         | 
| 569 | 
            -
                    let(:args) { [ folderIds: [ | 
| 597 | 
            +
                    let(:args) { [ folderIds: [], fileids: [] ] }
         | 
| 570 598 | 
             
                  end
         | 
| 571 599 | 
             
                end
         | 
| 572 600 |  | 
| @@ -576,64 +604,58 @@ describe Teamlab do | |
| 576 604 | 
             
                  end
         | 
| 577 605 | 
             
                end
         | 
| 578 606 |  | 
| 579 | 
            -
                describe '#clear_recycle_bin' do
         | 
| 580 | 
            -
                  it_should_behave_like 'an api request' do
         | 
| 581 | 
            -
                    let(:command) { :clear_recycle_bin }
         | 
| 582 | 
            -
                  end
         | 
| 583 | 
            -
                end
         | 
| 584 | 
            -
             | 
| 585 607 | 
             
                describe '#mark_as_read' do
         | 
| 586 608 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 587 | 
            -
                    let(:command) { : | 
| 609 | 
            +
                    let(:command) { :mark_as_read }
         | 
| 588 610 | 
             
                  end
         | 
| 589 611 | 
             
                end
         | 
| 590 612 |  | 
| 591 613 | 
             
                describe '#finish_operations' do
         | 
| 592 614 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 593 615 | 
             
                    let(:command) { :finish_operations }
         | 
| 594 | 
            -
                    let(:args) { [ folderIds: [ | 
| 616 | 
            +
                    let(:args) { [ folderIds: [random_id(:new_folder)], fileids: [random_id(:new_file)] ] }
         | 
| 595 617 | 
             
                  end
         | 
| 596 618 | 
             
                end
         | 
| 597 619 |  | 
| 598 620 | 
             
                describe '#get_file_sharing' do
         | 
| 599 621 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 600 622 | 
             
                    let(:command) { :get_file_sharing }
         | 
| 601 | 
            -
                    let(:args) {  | 
| 623 | 
            +
                    let(:args) { [random_id(:new_file)] }
         | 
| 602 624 | 
             
                  end
         | 
| 603 625 | 
             
                end
         | 
| 604 626 |  | 
| 605 627 | 
             
                describe '#get_folder_sharing' do
         | 
| 606 628 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 607 629 | 
             
                    let(:command) { :get_folder_sharing }
         | 
| 608 | 
            -
                    let(:args) {  | 
| 630 | 
            +
                    let(:args) { [random_id(:new_folder)] }
         | 
| 609 631 | 
             
                  end
         | 
| 610 632 | 
             
                end
         | 
| 611 633 |  | 
| 612 634 | 
             
                describe '#share_file' do
         | 
| 613 635 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 614 636 | 
             
                    let(:command) { :share_file }
         | 
| 615 | 
            -
                    let(:args) { [ | 
| 637 | 
            +
                    let(:args) { [random_id(:new_file), random_id(:user), 1, { notify: random_bool, sharingMessage: random_word }] }
         | 
| 616 638 | 
             
                  end
         | 
| 617 639 | 
             
                end
         | 
| 618 640 |  | 
| 619 641 | 
             
                describe '#share_folder' do
         | 
| 620 642 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 621 643 | 
             
                    let(:command) { :share_folder }
         | 
| 622 | 
            -
                    let(:args) { [ | 
| 644 | 
            +
                    let(:args) { [random_id(:new_folder), random_id(:user), 1, { notify: random_bool, sharingMessage: random_word }] }
         | 
| 623 645 | 
             
                  end
         | 
| 624 646 | 
             
                end
         | 
| 625 647 |  | 
| 626 648 | 
             
                describe '#remove_file_sharing_rights' do
         | 
| 627 649 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 628 650 | 
             
                    let(:command) { :remove_file_sharing_rights }
         | 
| 629 | 
            -
                    let(:args) { [  | 
| 651 | 
            +
                    let(:args) { [ random_id(:new_file), [random_id(:user)] ] }
         | 
| 630 652 | 
             
                  end
         | 
| 631 653 | 
             
                end
         | 
| 632 654 |  | 
| 633 655 | 
             
                describe '#remove_folder_sharing_rights' do
         | 
| 634 656 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 635 657 | 
             
                    let(:command) { :remove_folder_sharing_rights }
         | 
| 636 | 
            -
                    let(:args) { [  | 
| 658 | 
            +
                    let(:args) { [ random_id(:new_folder), [random_id(:user)] ] }
         | 
| 637 659 | 
             
                  end
         | 
| 638 660 | 
             
                end
         | 
| 639 661 |  | 
| @@ -649,17 +671,66 @@ describe Teamlab do | |
| 649 671 | 
             
                    let(:args) { PROVIDER_ID }
         | 
| 650 672 | 
             
                  end
         | 
| 651 673 | 
             
                end
         | 
| 674 | 
            +
             | 
| 675 | 
            +
                describe '#delete_file' do
         | 
| 676 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 677 | 
            +
                    let(:command) { :delete_file }
         | 
| 678 | 
            +
                    let(:args) { [DATA_COLLECTOR[:new_file_ids].pop] }
         | 
| 679 | 
            +
                  end
         | 
| 680 | 
            +
                end
         | 
| 681 | 
            +
             | 
| 682 | 
            +
                describe '#delete_folder' do
         | 
| 683 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 684 | 
            +
                    let(:command) { :delete_folder }
         | 
| 685 | 
            +
                    let(:args) { [DATA_COLLECTOR[:new_folder_ids].pop] }
         | 
| 686 | 
            +
                  end
         | 
| 687 | 
            +
                end
         | 
| 688 | 
            +
             | 
| 689 | 
            +
                describe '#clear_recycle_bin' do
         | 
| 690 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 691 | 
            +
                    let(:command) { :clear_recycle_bin }
         | 
| 692 | 
            +
                  end
         | 
| 693 | 
            +
                end
         | 
| 652 694 | 
             
              end
         | 
| 653 695 |  | 
| 654 696 | 
             
              describe '[Project]' do
         | 
| 655 | 
            -
                let(:teamlab_module) { :project }
         | 
| 656 697 |  | 
| 657 | 
            -
                describe ' | 
| 658 | 
            -
                   | 
| 659 | 
            -
                     | 
| 698 | 
            +
                describe 'Preparing enviroment' do
         | 
| 699 | 
            +
                  describe '#add_user' do
         | 
| 700 | 
            +
                    it_should_behave_like 'an api request' do
         | 
| 701 | 
            +
                      let(:teamlab_module) { :people }
         | 
| 702 | 
            +
                      let(:command) { :add_user }
         | 
| 703 | 
            +
                      let(:args) { [false, random_email, random_word.capitalize, random_word.capitalize] }
         | 
| 704 | 
            +
                      let(:add_data_to_collector) { true }
         | 
| 705 | 
            +
                      let(:data_param) { :user_ids }
         | 
| 706 | 
            +
                      let(:param_names) { %w(id) }
         | 
| 707 | 
            +
                    end
         | 
| 708 | 
            +
                  end
         | 
| 709 | 
            +
             | 
| 710 | 
            +
                  describe '#get_my_files' do
         | 
| 711 | 
            +
                    it_should_behave_like 'an api request' do
         | 
| 712 | 
            +
                      let(:teamlab_module) { :files }
         | 
| 713 | 
            +
                      let(:command) { :get_my_files }
         | 
| 714 | 
            +
                      let(:add_data_to_collector) { true }
         | 
| 715 | 
            +
                      let(:data_param) { :my_documents_ids }
         | 
| 716 | 
            +
                      let(:param_names) { %w(current id) }
         | 
| 717 | 
            +
                    end
         | 
| 718 | 
            +
                  end
         | 
| 719 | 
            +
             | 
| 720 | 
            +
                  describe '#create_file' do
         | 
| 721 | 
            +
                    it_should_behave_like 'an api request' do
         | 
| 722 | 
            +
                      let(:teamlab_module) { :files }
         | 
| 723 | 
            +
                      let(:command) { :create_file }
         | 
| 724 | 
            +
                      let(:args) { [random_id(:my_documents), random_word] }
         | 
| 725 | 
            +
                      let(:add_data_to_collector) { true }
         | 
| 726 | 
            +
                      let(:data_param) { :file_ids }
         | 
| 727 | 
            +
                      let(:param_names) { %w(id) }
         | 
| 728 | 
            +
                    end
         | 
| 660 729 | 
             
                  end
         | 
| 661 730 | 
             
                end
         | 
| 662 731 |  | 
| 732 | 
            +
                let(:teamlab_module) { :project }
         | 
| 733 | 
            +
             | 
| 663 734 | 
             
                describe '#add_importing_url_to_queue' do
         | 
| 664 735 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 665 736 | 
             
                    let(:command) { :add_importing_url_to_queue }
         | 
| @@ -670,18 +741,114 @@ describe Teamlab do | |
| 670 741 | 
             
                describe '#get_projects_for_import' do
         | 
| 671 742 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 672 743 | 
             
                    let(:command) { :get_projects_for_import }
         | 
| 744 | 
            +
                    let(:args) { [BASECAMP_URL, BASECAMP_LOGIN, BASECAMP_PSW] }
         | 
| 673 745 | 
             
                  end
         | 
| 674 746 | 
             
                end
         | 
| 675 747 |  | 
| 676 | 
            -
                describe '# | 
| 748 | 
            +
                describe '#get_import_status' do
         | 
| 677 749 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 678 | 
            -
                    let(:command) { : | 
| 750 | 
            +
                    let(:command) { :get_import_status }
         | 
| 679 751 | 
             
                  end
         | 
| 680 752 | 
             
                end
         | 
| 681 753 |  | 
| 682 | 
            -
                describe '# | 
| 754 | 
            +
                describe '#create_project' do
         | 
| 683 755 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 684 | 
            -
                    let(:command) { : | 
| 756 | 
            +
                    let(:command) { :create_project }
         | 
| 757 | 
            +
                    let(:args) { [random_word, random_word, random_id(:user), random_word(3), random_bool] }
         | 
| 758 | 
            +
                    let(:add_data_to_collector) { true }
         | 
| 759 | 
            +
                    let(:data_param) { :project_ids }
         | 
| 760 | 
            +
                    let(:param_names) { %w(id) }
         | 
| 761 | 
            +
                  end
         | 
| 762 | 
            +
                end
         | 
| 763 | 
            +
             | 
| 764 | 
            +
                describe '#add_message' do
         | 
| 765 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 766 | 
            +
                    let(:command) { :add_message }
         | 
| 767 | 
            +
                    let(:args) { [random_id(:project), random_word, random_word, DATA_COLLECTOR[:user_ids].join(',')] }
         | 
| 768 | 
            +
                    let(:add_data_to_collector) { true }
         | 
| 769 | 
            +
                    let(:data_param) { :discussion_ids }
         | 
| 770 | 
            +
                    let(:param_names) { %w(id) }
         | 
| 771 | 
            +
                  end
         | 
| 772 | 
            +
                end
         | 
| 773 | 
            +
             | 
| 774 | 
            +
                describe '#create_template' do
         | 
| 775 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 776 | 
            +
                    let(:command) { :create_template }
         | 
| 777 | 
            +
                    let(:args) { [random_word] }
         | 
| 778 | 
            +
                    let(:add_data_to_collector) { true }
         | 
| 779 | 
            +
                    let(:data_param) { :project_template_ids }
         | 
| 780 | 
            +
                    let(:param_names) { %w(id) }
         | 
| 781 | 
            +
                  end
         | 
| 782 | 
            +
                end
         | 
| 783 | 
            +
             | 
| 784 | 
            +
                describe '#add_task' do
         | 
| 785 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 786 | 
            +
                    let(:command) { :add_task }
         | 
| 787 | 
            +
                    let(:args) { [random_id(:project), random_word] }
         | 
| 788 | 
            +
                    let(:add_data_to_collector) { true }
         | 
| 789 | 
            +
                    let(:data_param) { :project_task_ids }
         | 
| 790 | 
            +
                    let(:param_names) { %w(id) }
         | 
| 791 | 
            +
                  end
         | 
| 792 | 
            +
                end
         | 
| 793 | 
            +
             | 
| 794 | 
            +
                describe '#add_task_from_discussion' do
         | 
| 795 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 796 | 
            +
                    let(:command) { :add_task_from_discussion }
         | 
| 797 | 
            +
                    let(:args) { [random_id(:project), random_id(:discussion)] }
         | 
| 798 | 
            +
                  end
         | 
| 799 | 
            +
                end
         | 
| 800 | 
            +
             | 
| 801 | 
            +
                describe '#create_subtask' do
         | 
| 802 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 803 | 
            +
                    let(:command) { :get_my_tasks_with_status }
         | 
| 804 | 
            +
                    let(:args) { [random_id(:project_task), random_id(:user), random_word] }
         | 
| 805 | 
            +
                    let(:add_data_to_collector) { true }
         | 
| 806 | 
            +
                    let(:data_param) { :project_subtask_ids }
         | 
| 807 | 
            +
                    let(:param_names) { %w(id) }
         | 
| 808 | 
            +
                  end
         | 
| 809 | 
            +
                end
         | 
| 810 | 
            +
             | 
| 811 | 
            +
                describe '#upload_file_to_task' do
         | 
| 812 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 813 | 
            +
                    let(:command) { :upload_file_to_task }
         | 
| 814 | 
            +
                    let(:args) { [random_id(:project_task), [random_id(:file)]] }
         | 
| 815 | 
            +
                  end
         | 
| 816 | 
            +
                end
         | 
| 817 | 
            +
             | 
| 818 | 
            +
                describe '#upload_file_to_message' do
         | 
| 819 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 820 | 
            +
                    let(:command) { :upload_file_to_message }
         | 
| 821 | 
            +
                    let(:args) { [random_id(:discussion), [random_id(:file)]] }
         | 
| 822 | 
            +
                  end
         | 
| 823 | 
            +
                end
         | 
| 824 | 
            +
             | 
| 825 | 
            +
                describe '#add_milestone' do
         | 
| 826 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 827 | 
            +
                    let(:command) { :add_milestone }
         | 
| 828 | 
            +
                    let(:args) { [random_id(:project), random_word, DateTime.commercial(2015).to_s, random_id(:user)] }
         | 
| 829 | 
            +
                    let(:add_data_to_collector) { true }
         | 
| 830 | 
            +
                    let(:data_param) { :project_milestone_ids }
         | 
| 831 | 
            +
                    let(:param_names) { %w(id) }
         | 
| 832 | 
            +
                  end
         | 
| 833 | 
            +
                end
         | 
| 834 | 
            +
             | 
| 835 | 
            +
                describe '#add_task_comment' do
         | 
| 836 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 837 | 
            +
                    let(:command) { :add_task_comment }
         | 
| 838 | 
            +
                    let(:args) { [random_id(:project_task), random_word] }
         | 
| 839 | 
            +
                    let(:add_data_to_collector) { true }
         | 
| 840 | 
            +
                    let(:data_param) { :comment_ids }
         | 
| 841 | 
            +
                    let(:param_names) { %w(id) }
         | 
| 842 | 
            +
                  end
         | 
| 843 | 
            +
                end
         | 
| 844 | 
            +
             | 
| 845 | 
            +
                describe '#add_message_comment' do
         | 
| 846 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 847 | 
            +
                    let(:command) { :add_message_comment }
         | 
| 848 | 
            +
                    let(:args) { [random_id(:project_task), random_word] }
         | 
| 849 | 
            +
                    let(:add_data_to_collector) { true }
         | 
| 850 | 
            +
                    let(:data_param) { :comment_ids }
         | 
| 851 | 
            +
                    let(:param_names) { %w(id) }
         | 
| 685 852 | 
             
                  end
         | 
| 686 853 | 
             
                end
         | 
| 687 854 |  | 
| @@ -694,113 +861,475 @@ describe Teamlab do | |
| 694 861 | 
             
                describe '#get_message_by_filter' do
         | 
| 695 862 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 696 863 | 
             
                    let(:command) { :get_message_by_filter }
         | 
| 864 | 
            +
                    let(:args) { [{projectId: random_id(:project)}] }
         | 
| 697 865 | 
             
                  end
         | 
| 698 866 | 
             
                end
         | 
| 699 867 |  | 
| 700 868 | 
             
                describe '#get_messages' do
         | 
| 701 869 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 702 870 | 
             
                    let(:command) { :get_messages }
         | 
| 703 | 
            -
                    let(:args) {  | 
| 871 | 
            +
                    let(:args) { [random_id(:project)] }
         | 
| 704 872 | 
             
                  end
         | 
| 705 873 | 
             
                end
         | 
| 706 874 |  | 
| 707 | 
            -
                describe '# | 
| 875 | 
            +
                describe '#check_subscription_to_discussion' do
         | 
| 708 876 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 709 | 
            -
                    let(:command) { : | 
| 710 | 
            -
                    let(:args) {  | 
| 877 | 
            +
                    let(:command) { :check_subscription_to_discussion }
         | 
| 878 | 
            +
                    let(:args) { [random_id(:discussion)] }
         | 
| 711 879 | 
             
                  end
         | 
| 712 880 | 
             
                end
         | 
| 713 881 |  | 
| 714 | 
            -
                describe '# | 
| 882 | 
            +
                describe '#update_message' do
         | 
| 715 883 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 716 | 
            -
                    let(:command) { : | 
| 717 | 
            -
                    let(:args) {  | 
| 884 | 
            +
                    let(:command) { :update_message }
         | 
| 885 | 
            +
                    let(:args) { [random_id(:discussion), random_id(:project), random_word, random_word] }
         | 
| 718 886 | 
             
                  end
         | 
| 719 887 | 
             
                end
         | 
| 720 888 |  | 
| 721 | 
            -
                describe '# | 
| 889 | 
            +
                describe '#subscribe_to_message_action' do
         | 
| 722 890 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 723 | 
            -
                    let(:command) { : | 
| 724 | 
            -
                    let(:args) { [ | 
| 891 | 
            +
                    let(:command) { :subscribe_to_message_action }
         | 
| 892 | 
            +
                    let(:args) { [random_id(:discussion)] }
         | 
| 725 893 | 
             
                  end
         | 
| 726 894 | 
             
                end
         | 
| 727 895 |  | 
| 728 | 
            -
                describe '# | 
| 896 | 
            +
                describe '#get_task_files' do
         | 
| 729 897 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 730 | 
            -
                    let(:command) { : | 
| 731 | 
            -
                    let(:args) { [ | 
| 898 | 
            +
                    let(:command) { :get_task_files }
         | 
| 899 | 
            +
                    let(:args) { [random_id(:project_task)] }
         | 
| 900 | 
            +
                  end
         | 
| 901 | 
            +
                end
         | 
| 902 | 
            +
             | 
| 903 | 
            +
                describe '#get_entity_files' do
         | 
| 904 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 905 | 
            +
                    let(:command) { :get_entity_files }
         | 
| 906 | 
            +
                    let(:args) { [random_id(:project_task), 'Task'] }
         | 
| 907 | 
            +
                  end
         | 
| 908 | 
            +
                end
         | 
| 909 | 
            +
             | 
| 910 | 
            +
                describe '#get_message_files' do
         | 
| 911 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 912 | 
            +
                    let(:command) { :get_message_files }
         | 
| 913 | 
            +
                    let(:args) { [random_id(:discussion)] }
         | 
| 914 | 
            +
                  end
         | 
| 915 | 
            +
                end
         | 
| 916 | 
            +
             | 
| 917 | 
            +
                describe '#get_comment' do
         | 
| 918 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 919 | 
            +
                    let(:command) { :get_comment }
         | 
| 920 | 
            +
                    let(:args) { [random_id(:comment)] }
         | 
| 921 | 
            +
                  end
         | 
| 922 | 
            +
                end
         | 
| 923 | 
            +
             | 
| 924 | 
            +
                describe '#get_task_comments' do
         | 
| 925 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 926 | 
            +
                    let(:command) { :get_task_comments }
         | 
| 927 | 
            +
                    let(:args) { [random_id(:project_task)] }
         | 
| 928 | 
            +
                  end
         | 
| 929 | 
            +
                end
         | 
| 930 | 
            +
             | 
| 931 | 
            +
                describe '#get_message_comments' do
         | 
| 932 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 933 | 
            +
                    let(:command) { :get_message_comments }
         | 
| 934 | 
            +
                    let(:args) { [random_id(:discussion)] }
         | 
| 935 | 
            +
                  end
         | 
| 936 | 
            +
                end
         | 
| 937 | 
            +
             | 
| 938 | 
            +
                describe '#update_comment' do
         | 
| 939 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 940 | 
            +
                    let(:command) { :update_comment }
         | 
| 941 | 
            +
                    let(:args) { [random_id(:comment), random_word] }
         | 
| 942 | 
            +
                  end
         | 
| 943 | 
            +
                end
         | 
| 944 | 
            +
             | 
| 945 | 
            +
                describe '#create_report_template' do
         | 
| 946 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 947 | 
            +
                    let(:command) { :create_report_template }
         | 
| 948 | 
            +
                    let(:args) { [random_word] }
         | 
| 949 | 
            +
                    let(:add_data_to_collector) { true }
         | 
| 950 | 
            +
                    let(:data_param) { :report_template_ids }
         | 
| 951 | 
            +
                    let(:param_names) { %w(id) }
         | 
| 952 | 
            +
                  end
         | 
| 953 | 
            +
                end
         | 
| 954 | 
            +
             | 
| 955 | 
            +
                describe '#update_report_template' do
         | 
| 956 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 957 | 
            +
                    let(:command) { :update_report_template }
         | 
| 958 | 
            +
                    let(:args) { [random_id(:report_template), random_word] }
         | 
| 959 | 
            +
                  end
         | 
| 960 | 
            +
                end
         | 
| 961 | 
            +
             | 
| 962 | 
            +
                describe '#delete_report_template' do
         | 
| 963 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 964 | 
            +
                    let(:command) { :delete_report_template }
         | 
| 965 | 
            +
                    let(:args) { [DATA_COLLECTOR[:report_template_ids].pop] }
         | 
| 966 | 
            +
                  end
         | 
| 967 | 
            +
                end
         | 
| 968 | 
            +
             | 
| 969 | 
            +
                describe '#get_projects' do
         | 
| 970 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 971 | 
            +
                    let(:command) { :get_projects }
         | 
| 972 | 
            +
                  end
         | 
| 973 | 
            +
                end
         | 
| 974 | 
            +
             | 
| 975 | 
            +
                describe '#get_project' do
         | 
| 976 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 977 | 
            +
                    let(:command) { :get_project }
         | 
| 978 | 
            +
                    let(:args) { random_id(:project) }
         | 
| 979 | 
            +
                  end
         | 
| 980 | 
            +
                end
         | 
| 981 | 
            +
             | 
| 982 | 
            +
                describe '#get_participated_projects' do
         | 
| 983 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 984 | 
            +
                    let(:command) { :get_participated_projects }
         | 
| 985 | 
            +
                  end
         | 
| 986 | 
            +
                end
         | 
| 987 | 
            +
             | 
| 988 | 
            +
                describe '#filter_projects' do
         | 
| 989 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 990 | 
            +
                    let(:command) { :filter_projects }
         | 
| 991 | 
            +
                  end
         | 
| 992 | 
            +
                end
         | 
| 993 | 
            +
             | 
| 994 | 
            +
                describe '#get_followed_projects' do
         | 
| 995 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 996 | 
            +
                    let(:command) { :get_followed_projects }
         | 
| 997 | 
            +
                  end
         | 
| 998 | 
            +
                end
         | 
| 999 | 
            +
             | 
| 1000 | 
            +
                describe '#get_project_by_status' do
         | 
| 1001 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1002 | 
            +
                    let(:command) { :get_project_by_status }
         | 
| 1003 | 
            +
                    let(:args) { [PROJECT_STATUSES.sample] }
         | 
| 1004 | 
            +
                  end
         | 
| 1005 | 
            +
                end
         | 
| 1006 | 
            +
             | 
| 1007 | 
            +
                describe '#get_templates' do
         | 
| 1008 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1009 | 
            +
                    let(:command) { :get_templates }
         | 
| 1010 | 
            +
                  end
         | 
| 1011 | 
            +
                end
         | 
| 1012 | 
            +
             | 
| 1013 | 
            +
                describe '#get_spent_time' do
         | 
| 1014 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1015 | 
            +
                    let(:command) { :get_spent_time }
         | 
| 1016 | 
            +
                    let(:args) { [random_id(:project)] }
         | 
| 1017 | 
            +
                  end
         | 
| 1018 | 
            +
                end
         | 
| 1019 | 
            +
             | 
| 1020 | 
            +
                describe '#get_project_files' do
         | 
| 1021 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1022 | 
            +
                    let(:command) { :get_project_files }
         | 
| 1023 | 
            +
                    let(:args) { [random_id(:project)] }
         | 
| 1024 | 
            +
                  end
         | 
| 1025 | 
            +
                end
         | 
| 1026 | 
            +
             | 
| 1027 | 
            +
                describe '#get_template' do
         | 
| 1028 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1029 | 
            +
                    let(:command) { :get_template }
         | 
| 1030 | 
            +
                    let(:args) { [random_id(:project_template)] }
         | 
| 1031 | 
            +
                  end
         | 
| 1032 | 
            +
                end
         | 
| 1033 | 
            +
             | 
| 1034 | 
            +
                describe '#get_milestones' do
         | 
| 1035 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1036 | 
            +
                    let(:command) { :get_milestones }
         | 
| 1037 | 
            +
                    let(:args) { [random_id(:project)] }
         | 
| 1038 | 
            +
                  end
         | 
| 1039 | 
            +
                end
         | 
| 1040 | 
            +
             | 
| 1041 | 
            +
                describe '#search_all_projects' do
         | 
| 1042 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1043 | 
            +
                    let(:command) { :search_all_projects }
         | 
| 1044 | 
            +
                    let(:args) { [random_word] }
         | 
| 1045 | 
            +
                  end
         | 
| 1046 | 
            +
                end
         | 
| 1047 | 
            +
             | 
| 1048 | 
            +
                describe '#search_project' do
         | 
| 1049 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1050 | 
            +
                    let(:command) { :search_project }
         | 
| 1051 | 
            +
                    let(:args) { [random_id(:project), random_word] }
         | 
| 1052 | 
            +
                  end
         | 
| 1053 | 
            +
                end
         | 
| 1054 | 
            +
             | 
| 1055 | 
            +
                describe '#get_milestones_with_status' do
         | 
| 1056 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1057 | 
            +
                    let(:command) { :get_milestones_with_status }
         | 
| 1058 | 
            +
                    let(:args) { [random_id(:project), PROJECT_MILESTONE_STATUSES.sample] }
         | 
| 1059 | 
            +
                  end
         | 
| 1060 | 
            +
                end
         | 
| 1061 | 
            +
             | 
| 1062 | 
            +
                describe '#update_project_tags' do
         | 
| 1063 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1064 | 
            +
                    let(:command) { :update_project_tags }
         | 
| 1065 | 
            +
                    let(:args) { [random_id(:project), random_word(3)] }
         | 
| 1066 | 
            +
                  end
         | 
| 1067 | 
            +
                end
         | 
| 1068 | 
            +
             | 
| 1069 | 
            +
                describe '#update_project_status' do
         | 
| 1070 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1071 | 
            +
                    let(:command) { :update_project_status }
         | 
| 1072 | 
            +
                    let(:args) { [random_id(:project), PROJECT_STATUSES.sample] }
         | 
| 1073 | 
            +
                  end
         | 
| 1074 | 
            +
                end
         | 
| 1075 | 
            +
             | 
| 1076 | 
            +
                describe '#update_template' do
         | 
| 1077 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1078 | 
            +
                    let(:command) { :update_template }
         | 
| 1079 | 
            +
                    let(:args) { [random_id(:project_template), random_word] }
         | 
| 1080 | 
            +
                  end
         | 
| 1081 | 
            +
                end
         | 
| 1082 | 
            +
             | 
| 1083 | 
            +
                describe '#follow_unfollow_project' do
         | 
| 1084 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1085 | 
            +
                    let(:command) { :follow_unfollow_project }
         | 
| 1086 | 
            +
                    let(:args) { [random_id(:project)] }
         | 
| 1087 | 
            +
                  end
         | 
| 1088 | 
            +
                end
         | 
| 1089 | 
            +
             | 
| 1090 | 
            +
                describe '#get_tasks_by_ids' do
         | 
| 1091 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1092 | 
            +
                    let(:command) { :get_tasks_by_ids }
         | 
| 1093 | 
            +
                    let(:args) { [DATA_COLLECTOR[:project_task_ids].sample(rand(2..4))] }
         | 
| 1094 | 
            +
                  end
         | 
| 1095 | 
            +
                end
         | 
| 1096 | 
            +
             | 
| 1097 | 
            +
                describe '#get_task_order' do
         | 
| 1098 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1099 | 
            +
                    let(:command) { :get_task_order }
         | 
| 1100 | 
            +
                    let(:args) { [random_id(:project)] }
         | 
| 1101 | 
            +
                  end
         | 
| 1102 | 
            +
                end
         | 
| 1103 | 
            +
             | 
| 1104 | 
            +
                describe '#get_simple_task_by_filter' do
         | 
| 1105 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1106 | 
            +
                    let(:command) { :get_simple_task_by_filter }
         | 
| 1107 | 
            +
                    let(:args) { [random_id(:project)] }
         | 
| 1108 | 
            +
                  end
         | 
| 1109 | 
            +
                end
         | 
| 1110 | 
            +
             | 
| 1111 | 
            +
                describe '#add_link' do
         | 
| 1112 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1113 | 
            +
                    let(:command) { :add_link }
         | 
| 1114 | 
            +
                    let(:args) { [random_id(:project_task), random_id(:project_task), PROJECT_TASK_LINK_TYPES.sample] }
         | 
| 732 1115 | 
             
                  end
         | 
| 733 1116 | 
             
                end
         | 
| 734 1117 |  | 
| 735 1118 | 
             
                describe '#update_project' do
         | 
| 736 1119 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 737 1120 | 
             
                    let(:command) { :update_project }
         | 
| 738 | 
            -
                    let(:args) { [ | 
| 1121 | 
            +
                    let(:args) { [random_id(:project), random_word, random_id(:user), {private: random_bool, notify: random_bool}] }
         | 
| 1122 | 
            +
                  end
         | 
| 1123 | 
            +
                end
         | 
| 1124 | 
            +
             | 
| 1125 | 
            +
                describe '#set_task_order' do
         | 
| 1126 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1127 | 
            +
                    let(:command) { :set_task_order }
         | 
| 1128 | 
            +
                    let(:args) { [random_id(:project_task), '123456'] }
         | 
| 739 1129 | 
             
                  end
         | 
| 740 1130 | 
             
                end
         | 
| 741 1131 |  | 
| 742 1132 | 
             
                describe '#update_project_task' do
         | 
| 743 1133 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 744 1134 | 
             
                    let(:command) { :update_project_task }
         | 
| 745 | 
            -
                    let(:args) { [ | 
| 1135 | 
            +
                    let(:args) { [random_id(:project_task), random_word] }
         | 
| 1136 | 
            +
                  end
         | 
| 1137 | 
            +
                end
         | 
| 1138 | 
            +
             | 
| 1139 | 
            +
                describe '#get_project_team' do
         | 
| 1140 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1141 | 
            +
                    let(:command) { :get_project_team }
         | 
| 1142 | 
            +
                    let(:args) { [random_id(:project)] }
         | 
| 746 1143 | 
             
                  end
         | 
| 747 1144 | 
             
                end
         | 
| 748 1145 |  | 
| 749 1146 | 
             
                describe '#get_projects_teams' do
         | 
| 750 1147 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 751 1148 | 
             
                    let(:command) { :get_projects_teams }
         | 
| 752 | 
            -
                    let(:args) { [[ | 
| 1149 | 
            +
                    let(:args) { [DATA_COLLECTOR[:project_ids].sample(rand(2..4))] }
         | 
| 1150 | 
            +
                  end
         | 
| 1151 | 
            +
                end
         | 
| 1152 | 
            +
             | 
| 1153 | 
            +
                describe '#add_to_team' do
         | 
| 1154 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1155 | 
            +
                    let(:command) { :add_to_team }
         | 
| 1156 | 
            +
                    let(:args) { [random_id(:project), random_id(:user)] }
         | 
| 1157 | 
            +
                  end
         | 
| 1158 | 
            +
                end
         | 
| 1159 | 
            +
             | 
| 1160 | 
            +
                describe '#update_project_team' do
         | 
| 1161 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1162 | 
            +
                    let(:command) { :update_project_team }
         | 
| 1163 | 
            +
                    let(:args) { [random_id(:project), DATA_COLLECTOR[:user_ids].sample(rand(2..4)), {notify: random_bool}] }
         | 
| 1164 | 
            +
                  end
         | 
| 1165 | 
            +
                end
         | 
| 1166 | 
            +
             | 
| 1167 | 
            +
                describe '#set_team_security' do
         | 
| 1168 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1169 | 
            +
                    let(:command) { :set_team_security }
         | 
| 1170 | 
            +
                    let(:args) { [random_id(:project), random_id(:user), PROJECT_SECURITY_RIGHTS.sample] }
         | 
| 1171 | 
            +
                  end
         | 
| 1172 | 
            +
                end
         | 
| 1173 | 
            +
             | 
| 1174 | 
            +
                describe '#remove_from_team' do
         | 
| 1175 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1176 | 
            +
                    let(:command) { :remove_from_team }
         | 
| 1177 | 
            +
                    let(:args) { [random_id(:project), random_id(:user)] }
         | 
| 1178 | 
            +
                  end
         | 
| 1179 | 
            +
                end
         | 
| 1180 | 
            +
             | 
| 1181 | 
            +
                describe '#get_my_tasks' do
         | 
| 1182 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1183 | 
            +
                    let(:command) { :get_my_tasks }
         | 
| 753 1184 | 
             
                  end
         | 
| 754 1185 | 
             
                end
         | 
| 755 1186 |  | 
| 756 1187 | 
             
                describe '#get_task_by_filter' do
         | 
| 757 1188 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 758 1189 | 
             
                    let(:command) { :get_task_by_filter }
         | 
| 1190 | 
            +
                    let(:args) { [{participant: random_id(:user)}] }
         | 
| 759 1191 | 
             
                  end
         | 
| 760 1192 | 
             
                end
         | 
| 761 1193 |  | 
| 762 | 
            -
                describe '# | 
| 1194 | 
            +
                describe '#get_task' do
         | 
| 763 1195 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 764 | 
            -
                    let(:command) { : | 
| 765 | 
            -
                    let(:args) { [ | 
| 1196 | 
            +
                    let(:command) { :get_task }
         | 
| 1197 | 
            +
                    let(:args) { [random_id(:project_task)] }
         | 
| 766 1198 | 
             
                  end
         | 
| 767 1199 | 
             
                end
         | 
| 768 1200 |  | 
| 769 | 
            -
                describe '# | 
| 1201 | 
            +
                describe '#get_tasks' do
         | 
| 770 1202 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 771 | 
            -
                    let(:command) { : | 
| 772 | 
            -
                    let(:args) { [ | 
| 1203 | 
            +
                    let(:command) { :get_tasks }
         | 
| 1204 | 
            +
                    let(:args) { [random_id(:project)] }
         | 
| 773 1205 | 
             
                  end
         | 
| 774 1206 | 
             
                end
         | 
| 775 1207 |  | 
| 776 | 
            -
                describe '# | 
| 1208 | 
            +
                describe '#get_my_tasks_by_status' do
         | 
| 777 1209 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 778 | 
            -
                    let(:command) { : | 
| 779 | 
            -
                    let(:args) { [ | 
| 1210 | 
            +
                    let(:command) { :get_my_tasks_by_status }
         | 
| 1211 | 
            +
                    let(:args) { [PROJECT_TASKS_STATUSES.sample] }
         | 
| 780 1212 | 
             
                  end
         | 
| 781 1213 | 
             
                end
         | 
| 782 1214 |  | 
| 783 | 
            -
                describe '# | 
| 1215 | 
            +
                describe '#notify_task_responsible' do
         | 
| 784 1216 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 785 | 
            -
                    let(:command) { : | 
| 786 | 
            -
                    let(:args) { [ | 
| 1217 | 
            +
                    let(:command) { :notify_task_responsible }
         | 
| 1218 | 
            +
                    let(:args) { [random_id(:project_task)] }
         | 
| 787 1219 | 
             
                  end
         | 
| 788 1220 | 
             
                end
         | 
| 789 1221 |  | 
| 790 | 
            -
                describe '# | 
| 1222 | 
            +
                describe '#get_all_tasks' do
         | 
| 791 1223 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 792 | 
            -
                    let(:command) { : | 
| 793 | 
            -
                    let(:args) { [ | 
| 1224 | 
            +
                    let(:command) { :get_all_tasks }
         | 
| 1225 | 
            +
                    let(:args) { [random_id(:project)] }
         | 
| 794 1226 | 
             
                  end
         | 
| 795 1227 | 
             
                end
         | 
| 796 1228 |  | 
| 797 | 
            -
                describe '# | 
| 1229 | 
            +
                describe '#get_tasks_with_status' do
         | 
| 798 1230 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 799 | 
            -
                    let(:command) { : | 
| 800 | 
            -
                    let(:args) { [ | 
| 1231 | 
            +
                    let(:command) { :get_tasks_with_status }
         | 
| 1232 | 
            +
                    let(:args) { [random_id(:project), PROJECT_TASKS_STATUSES.sample] }
         | 
| 801 1233 | 
             
                  end
         | 
| 802 1234 | 
             
                end
         | 
| 803 | 
            -
             | 
| 1235 | 
            +
             | 
| 1236 | 
            +
                describe '#update_task_status' do
         | 
| 1237 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1238 | 
            +
                    let(:command) { :update_task_status }
         | 
| 1239 | 
            +
                    let(:args) { [random_id(:project_task), PROJECT_TASKS_STATUSES.sample] }
         | 
| 1240 | 
            +
                  end
         | 
| 1241 | 
            +
                end
         | 
| 1242 | 
            +
             | 
| 1243 | 
            +
                describe '#update_subtask' do
         | 
| 1244 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1245 | 
            +
                    let(:command) { :update_subtask }
         | 
| 1246 | 
            +
                    let(:args) { [random_id(:project_task), random_id(:project_subtask), random_id(:user), random_word] }
         | 
| 1247 | 
            +
                  end
         | 
| 1248 | 
            +
                end
         | 
| 1249 | 
            +
             | 
| 1250 | 
            +
                describe '#update_subtask_status' do
         | 
| 1251 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1252 | 
            +
                    let(:command) { :update_subtask_status }
         | 
| 1253 | 
            +
                    let(:args) { [random_id(:project_task), random_id(:project_subtask), PROJECT_TASKS_STATUSES.sample] }
         | 
| 1254 | 
            +
                  end
         | 
| 1255 | 
            +
                end
         | 
| 1256 | 
            +
             | 
| 1257 | 
            +
             | 
| 1258 | 
            +
             | 
| 1259 | 
            +
                describe '#delete_subtask' do
         | 
| 1260 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1261 | 
            +
                    let(:command) { :delete_subtask }
         | 
| 1262 | 
            +
                    let(:args) { [random_id(:project_task), random_id(:project_subtask)] }
         | 
| 1263 | 
            +
                  end
         | 
| 1264 | 
            +
                end
         | 
| 1265 | 
            +
             | 
| 1266 | 
            +
                describe '#detach_file_from_task' do
         | 
| 1267 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1268 | 
            +
                    let(:command) { :detach_file_from_task }
         | 
| 1269 | 
            +
                    let(:args) { [random_id(:project_task), random_id(:file)] }
         | 
| 1270 | 
            +
                  end
         | 
| 1271 | 
            +
                end
         | 
| 1272 | 
            +
             | 
| 1273 | 
            +
                describe '#detach_file_from_message' do
         | 
| 1274 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1275 | 
            +
                    let(:command) { :detach_file_from_task }
         | 
| 1276 | 
            +
                    let(:args) { [random_id(:discussion), random_id(:file)] }
         | 
| 1277 | 
            +
                  end
         | 
| 1278 | 
            +
                end
         | 
| 1279 | 
            +
             | 
| 1280 | 
            +
                describe '#delete_message_comments' do
         | 
| 1281 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1282 | 
            +
                    let(:command) { :delete_comment }
         | 
| 1283 | 
            +
                    let(:args) { [DATA_COLLECTOR[:comment_ids].pop] }
         | 
| 1284 | 
            +
                  end
         | 
| 1285 | 
            +
                end
         | 
| 1286 | 
            +
             | 
| 1287 | 
            +
                describe '#delete_task_comments' do
         | 
| 1288 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1289 | 
            +
                    let(:command) { :delete_comment }
         | 
| 1290 | 
            +
                    puts DATA_COLLECTOR[:project_task_ids].last
         | 
| 1291 | 
            +
                    let(:args) { [DATA_COLLECTOR[:comment_ids].pop] }
         | 
| 1292 | 
            +
                  end
         | 
| 1293 | 
            +
                end
         | 
| 1294 | 
            +
             | 
| 1295 | 
            +
                describe '#delete_task' do
         | 
| 1296 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1297 | 
            +
                    let(:command) { :delete_task }
         | 
| 1298 | 
            +
                    puts DATA_COLLECTOR[:project_task_ids].last
         | 
| 1299 | 
            +
                    let(:args) { DATA_COLLECTOR[:project_task_ids].pop }
         | 
| 1300 | 
            +
                  end
         | 
| 1301 | 
            +
                end
         | 
| 1302 | 
            +
             | 
| 1303 | 
            +
                describe '#delete_project' do
         | 
| 1304 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1305 | 
            +
                    let(:command) { :delete_project }
         | 
| 1306 | 
            +
                    let(:args) { [DATA_COLLECTOR[:project_ids].pop] }
         | 
| 1307 | 
            +
                  end
         | 
| 1308 | 
            +
                end
         | 
| 1309 | 
            +
             | 
| 1310 | 
            +
                describe '#delete_template' do
         | 
| 1311 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1312 | 
            +
                    let(:command) { :delete_template }
         | 
| 1313 | 
            +
                    let(:args) { [DATA_COLLECTOR[:project_template_ids].pop] }
         | 
| 1314 | 
            +
                  end
         | 
| 1315 | 
            +
                end
         | 
| 1316 | 
            +
             | 
| 1317 | 
            +
                describe '#delete_file' do
         | 
| 1318 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1319 | 
            +
                    let(:teamlab_module) { :files }
         | 
| 1320 | 
            +
                    let(:command) { :delete_file }
         | 
| 1321 | 
            +
                    let(:args) { [DATA_COLLECTOR[:file_ids].pop] }
         | 
| 1322 | 
            +
                  end
         | 
| 1323 | 
            +
                end
         | 
| 1324 | 
            +
             | 
| 1325 | 
            +
                describe '#delete_user' do
         | 
| 1326 | 
            +
                  it_should_behave_like 'an api request' do
         | 
| 1327 | 
            +
                    let(:teamlab_module) { :people }
         | 
| 1328 | 
            +
                    let(:command) { :delete_user }
         | 
| 1329 | 
            +
                    let(:args) { DATA_COLLECTOR[:user_ids].pop }
         | 
| 1330 | 
            +
                  end
         | 
| 1331 | 
            +
                end
         | 
| 1332 | 
            +
            end
         | 
| 804 1333 |  | 
| 805 1334 | 
             
              describe '[CRM]' do
         | 
| 806 1335 | 
             
                let(:teamlab_module) { :crm }
         | 
| @@ -1072,7 +1601,7 @@ describe Teamlab do | |
| 1072 1601 | 
             
                describe '#save_number_settings' do
         | 
| 1073 1602 | 
             
                  it_should_behave_like 'an api request' do
         | 
| 1074 1603 | 
             
                    let(:command) { :save_number_settings }
         | 
| 1075 | 
            -
                    let(:args) {[AUTOGENERATED, random_word(3 | 
| 1604 | 
            +
                    let(:args) {[AUTOGENERATED, random_word(3).capitalize, rand(10)]}
         | 
| 1076 1605 | 
             
                  end
         | 
| 1077 1606 | 
             
                end
         | 
| 1078 1607 |  |