qualtrics 0.5.1 → 0.5.2

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.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +6 -0
  3. data/lib/qualtrics/entity.rb +5 -5
  4. data/lib/qualtrics/operation.rb +21 -6
  5. data/lib/qualtrics/panel_import.rb +3 -15
  6. data/lib/qualtrics/panel_import_file.rb +1 -1
  7. data/lib/qualtrics/recipient_import_row.rb +14 -14
  8. data/lib/qualtrics/response.rb +6 -1
  9. data/lib/qualtrics/version.rb +1 -1
  10. data/spec/fixtures/vcr_cassettes/Qualtrics_Distribution/creating_to_qualtrics/can_retrieve_a_panel_of_distributions_in_qualtrics.yml +141 -162
  11. data/spec/fixtures/vcr_cassettes/Qualtrics_Distribution/creating_to_qualtrics/can_update_itself.yml +124 -145
  12. data/spec/fixtures/vcr_cassettes/Qualtrics_Mailer/creating_to_qualtrics/sends_a_reminder_to_a_distribution.yml +98 -119
  13. data/spec/fixtures/vcr_cassettes/Qualtrics_Mailer/creating_to_qualtrics/sends_a_survey_to_a_panel_and_creates_a_distribution.yml +87 -108
  14. data/spec/fixtures/vcr_cassettes/Qualtrics_Mailer/creating_to_qualtrics/sends_a_survey_to_an_individual_and_creates_a_distribution.yml +87 -108
  15. data/spec/fixtures/vcr_cassettes/Qualtrics_Message/creating_to_qualtrics/persists_to_qualtrics.yml +11 -11
  16. data/spec/fixtures/vcr_cassettes/Qualtrics_Message/creating_to_qualtrics/populates_the_message_id_when_successful.yml +12 -12
  17. data/spec/fixtures/vcr_cassettes/Qualtrics_Message/creating_to_qualtrics/populates_the_success_attribute.yml +12 -12
  18. data/spec/fixtures/vcr_cassettes/Qualtrics_Message/retrieves_an_array_of_all_panels_in_a_library.yml +31 -31
  19. data/spec/fixtures/vcr_cassettes/Qualtrics_Panel/creating_to_qualtrics/persists_to_qualtrics.yml +22 -22
  20. data/spec/fixtures/vcr_cassettes/Qualtrics_Panel/creating_to_qualtrics/populates_the_panel_id_when_successful.yml +22 -22
  21. data/spec/fixtures/vcr_cassettes/Qualtrics_Panel/creating_to_qualtrics/populates_the_success_attribute.yml +22 -22
  22. data/spec/fixtures/vcr_cassettes/Qualtrics_Panel/destroys_a_panel_that_returns_true_when_successful.yml +22 -22
  23. data/spec/fixtures/vcr_cassettes/Qualtrics_Panel/raises_an_error_when_you_attempt_to_save_an_already_presisted_panel.yml +11 -11
  24. data/spec/fixtures/vcr_cassettes/Qualtrics_Panel/retrieves_an_array_of_all_panels_in_a_library.yml +625 -619
  25. data/spec/fixtures/vcr_cassettes/Qualtrics_PanelImport/transmits_to_qualtrics.yml +70 -31
  26. data/spec/fixtures/vcr_cassettes/Qualtrics_Recipient/creating_to_qualtrics/persists_to_qualtrics.yml +32 -32
  27. data/spec/fixtures/vcr_cassettes/Qualtrics_Recipient/creating_to_qualtrics/populates_the_recipient_id_when_successful.yml +33 -33
  28. data/spec/fixtures/vcr_cassettes/Qualtrics_Recipient/creating_to_qualtrics/populates_the_success_attribute.yml +33 -33
  29. data/spec/fixtures/vcr_cassettes/Qualtrics_Recipient/creating_to_qualtrics/raises_an_error_when_a_recipient_is_created_without_specifying_a_panel_id.yml +21 -21
  30. data/spec/fixtures/vcr_cassettes/Qualtrics_Recipient/recipient_made_in_qualtrics/can_delete_itself_in_qualtrics.yml +63 -63
  31. data/spec/fixtures/vcr_cassettes/Qualtrics_Recipient/recipient_made_in_qualtrics/can_update_itself_in_qualtrics.yml +63 -63
  32. data/spec/fixtures/vcr_cassettes/Qualtrics_Recipient/recipient_made_in_qualtrics/gets_its_information_in_qualtrics.yml +41 -41
  33. data/spec/fixtures/vcr_cassettes/Qualtrics_Survey/creating_to_qualtrics/can_be_activated_or_deactivated.yml +44 -65
  34. data/spec/fixtures/vcr_cassettes/Qualtrics_Survey/creating_to_qualtrics/destroys_a_survey_that_returns_true_when_successful.yml +23 -44
  35. data/spec/fixtures/vcr_cassettes/Qualtrics_Survey/creating_to_qualtrics/populates_the_survey_id_when_successful.yml +24 -45
  36. data/spec/fixtures/vcr_cassettes/Qualtrics_Survey/creating_to_qualtrics/retrieves_an_array_of_all_surveys.yml +57 -79
  37. data/spec/fixtures/vcr_cassettes/Qualtrics_SurveyImport/transmits_to_qualtrics.yml +24 -45
  38. data/spec/qualtrics/panel_import_file_spec.rb +1 -1
  39. data/spec/qualtrics/panel_import_spec.rb +3 -3
  40. data/spec/qualtrics/recipient_import_row_spec.rb +7 -7
  41. data/spec/qualtrics/response_spec.rb +10 -0
  42. metadata +2 -2
@@ -17,7 +17,7 @@ describe Qualtrics::PanelImportFile do
17
17
  end
18
18
 
19
19
  it 'contains a header' do
20
- expect(File.read(panel_import_file.temp_file)).to include("first_name")
20
+ expect(File.read(panel_import_file.temp_file)).to include("FirstName")
21
21
  end
22
22
 
23
23
  it 'contains a row of recipients' do
@@ -28,8 +28,8 @@ describe Qualtrics::PanelImport, :vcr => true do
28
28
  recipients = [
29
29
  Qualtrics::Recipient.new(
30
30
  email: 'example@example.com',
31
- first_name: 'First name',
32
- last_name: 'Last name'
31
+ first_name: 'John',
32
+ last_name: 'Smith'
33
33
  )
34
34
  ]
35
35
 
@@ -40,4 +40,4 @@ describe Qualtrics::PanelImport, :vcr => true do
40
40
 
41
41
  expect(panel_import.save).to be true
42
42
  end
43
- end
43
+ end
@@ -32,30 +32,30 @@ describe Qualtrics::RecipientImportRow do
32
32
  end
33
33
 
34
34
  it 'returns email in the correct spot' do
35
- expect(recipient_row.to_a[index('email')]).to eql(email)
35
+ expect(recipient_row.to_a[index('Email')]).to eql(email)
36
36
  end
37
37
 
38
38
  it 'returns the first_name in the correct spot' do
39
- expect(recipient_row.to_a[index('first_name')]).to eql(first_name)
39
+ expect(recipient_row.to_a[index('FirstName')]).to eql(first_name)
40
40
  end
41
41
 
42
42
  it 'returns the last_name in the correct spot' do
43
- expect(recipient_row.to_a[index('last_name')]).to eql(last_name)
43
+ expect(recipient_row.to_a[index('LastName')]).to eql(last_name)
44
44
  end
45
45
 
46
46
  it 'returns the external_data in the correct spot' do
47
- expect(recipient_row.to_a[index('external_data')]).to eql(external_data)
47
+ expect(recipient_row.to_a[index('ExternalData')]).to eql(external_data)
48
48
  end
49
49
 
50
50
  it 'returns the embedded_data in the correct spot' do
51
- expect(recipient_row.to_a[index('embedded_data')]).to eql(embedded_data)
51
+ expect(recipient_row.to_a[index('EmbeddedData')]).to eql(embedded_data)
52
52
  end
53
53
  it 'returns unsubscribed in the correct spot' do
54
- expect(recipient_row.to_a[index('unsubscribed')]).to eql(unsubscribed)
54
+ expect(recipient_row.to_a[index('Unsubscribed')]).to eql(unsubscribed)
55
55
  end
56
56
 
57
57
  it 'returns language in the correct spot' do
58
- expect(recipient_row.to_a[index('language')]).to eql(language)
58
+ expect(recipient_row.to_a[index('Language')]).to eql(language)
59
59
  end
60
60
 
61
61
 
@@ -9,6 +9,7 @@ describe Qualtrics::Response, :vcr do
9
9
  builder.adapter :test, Faraday::Adapter::Test::Stubs.new do |m|
10
10
  m.get('/success') { |env| [ 200, {}, '{"Meta":{"Status":"Success","Debug":""},"Result":{"PanelID":"ML_8BKIZdmCic6tkLb"}}' ]}
11
11
  m.get('/server_error') { |env| [500, {}, '']}
12
+ m.get('/server_error2') { |env| [400, {}, '{"Meta":{"Status":"Fubar","Debug":"","ErrorMessage":"Invalid request. Missing or invalid parameter RecipientID."}}']}
12
13
  m.get('/failure') { |env| [ 200, {}, '{"Meta":{"Status":"Fubar","Debug":""}}' ]}
13
14
  end
14
15
  end
@@ -37,5 +38,14 @@ describe Qualtrics::Response, :vcr do
37
38
  expect(lambda{ Qualtrics::Response.new(raw_response)}).to raise_error(Qualtrics::ServerErrorEncountered)
38
39
  end
39
40
 
41
+ it 'raises a error message when a 4xx error is received' do
42
+ raw_response = test_endpoint.get('/server_error2')
43
+
44
+ begin
45
+ Qualtrics::Response.new(raw_response)
46
+ rescue Qualtrics::ServerErrorEncountered => e
47
+ expect(e.message).to eql('Invalid request. Missing or invalid parameter RecipientID.')
48
+ end
49
+ end
40
50
 
41
51
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qualtrics
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Sun
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-02-12 00:00:00.000000000 Z
12
+ date: 2015-03-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: configatron