api_test.rb
1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
require File.dirname(__FILE__) + '/../../../../test/unit/api/test_helper'
require File.dirname(__FILE__) + '/../helpers/plugin_test_helper'
class SoftwareCommunitiesApiTest < ActiveSupport::TestCase
include PluginTestHelper
def setup
login_api
environment = Environment.default
environment.enable_plugin(SoftwareCommunitiesPlugin)
end
should 'list all softwares' do
@software_info = create_software_info("software_test")
@software_info2 = create_software_info("software_test2")
get "/api/v1/software_communities?#{params.to_query}"
json = JSON.parse(last_response.body)
assert_equivalent [@software_info.id, @software_info2.id], json['software_infos'].map {|c| c['id']}
end
should 'get software by id' do
@software_info = create_software_info("software_test")
get "/api/v1/software_communities/#{@software_info.id}?#{params.to_query}"
json = JSON.parse(last_response.body)
assert_equal @software_info.id, json["software_info"]["id"]
end
should 'list only softwares with visible software' do
@software_info = create_software_info("software_test")
@software_info2 = create_software_info("software_test2")
@software_info2.software.visible = false
@software_info2.software.save!
get "/api/v1/software_communities?#{params.to_query}"
json = JSON.parse(last_response.body)
assert_includes json['software_infos'].map{|c| c['id']}, @software_info.id
assert_not_includes json['software_infos'].map{|c| c['id']}, @software_info2.id
end
end