Advertisement
Guest User

Untitled

a guest
Mar 27th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.71 KB | None | 0 0
  1. public PageReference getBackupAttendees() {
  2. //Variable Declarations
  3. List<Attendee_Backup__c> lstAttendeeBackobj = new List<Attendee_Backup__c>();
  4.  
  5. //Read Web Service
  6.  
  7. selectedBackAttendee = fetchAttendeeJSON(requestEndpoint + 'attended');
  8.  
  9. Map<String, Object> data = (Map<String, Object>)JSON.deserializeUntyped(selectedBackAttendee);
  10. String status = (String)data.get('status');
  11. Integer count = (Integer)data.get('count');
  12. List<Object> results = (List<Object>) data.get('results');
  13.  
  14. for(Object result: results) {
  15. Attendee_Backup__c attendeeBackObj= new Attendee_Backup__c();
  16. Map<String, Object> res = (Map<String, Object>) result;
  17. attendeeBackObj.Attendee_Backup_U_Id__c= Integer.valueof(res.get('u_id'));
  18. attendeeBackObj.Attendee_Backup_EA_Event_Id__c= Integer.valueof(res.get('event_id'));
  19. attendeeBackObj.Attendee_Backup_Title__c= String.valueof(res.get('title'));
  20. attendeeBackObj.Attendee_Backup_Forename__c= String.valueof(res.get('forename'));
  21. attendeeBackObj.Attendee_Backup_Surname__c= String.valueof(res.get('surname'));
  22. attendeeBackObj.Attendee_Backup_Email_Address__c= String.valueof(res.get('email'));
  23. attendeeBackObj.Attendee_Backup_Registration__c= String.valueof(res.get('registration'));
  24. attendeeBackObj.Attendee_Backup_Checkin__c = String.valueof(res.get('checked_in'));
  25. attendeeBackObj.Attendee_Backup_Event_Group_Registered__c= String.valueof(res.get('event_group_registered'));
  26. attendeeBackObj.Attendee_Backup_Event_Registered__c= String.valueof(res.get('event_registered'));
  27. lstAttendeeBackobj.add(attendeeBackObj);
  28.  
  29. }
  30.  
  31. if(Attendee_Backup__c.Attendee_Backup_U_Id__c.getDescribe().isUpdateable()){
  32. //Update object
  33. upsert lstAttendeeBackobj Attendee_Backup_U_Id__c;
  34. }
  35. PageReference syncRend = new PageReference('/apex/DelegateManagerSync?id=' + auth.Id); //redirect to Sync page if auth key is valid
  36. syncRend.setRedirect(false);
  37. return syncRend;
  38. }
  39.  
  40. @isTest
  41. public with sharing class AttendeeMockHttpResponseGenerator implements HttpCalloutMock {
  42. // Implement this interface method
  43. public HTTPResponse respond(HTTPRequest req) {
  44. // Optionally, only send a mock response for a specific endpoint
  45. // and method.
  46. system.debug(req.getBody());
  47. system.debug(req.getMethod());
  48. system.debug(req.getEndpoint());
  49.  
  50.  
  51. System.assertEquals('endpoint here', req.getEndpoint());
  52. System.assertEquals('GET', req.getMethod());
  53.  
  54. // Create a fake response
  55. HttpResponse res = new HttpResponse();
  56. res.setHeader('Content-Type', 'application/json');
  57. res.setHeader('dm', 'test');
  58. res.setHeader('api-key', '0000000000000000000');
  59. res.setHeader('event-id', '1');
  60. res.setBody('{"status": "Success","count": 4,"results":[delegate_type": "Default", "event_attend_id": 1295, "u_id": 1295,"event_id": 1, "registration": 1,"checked_in": 0,"title": "Mr","forename": "Albert", "surname": "Alexander", "email": "ch6ure6mdp1378wgkfbt9@delegatemanager.com", "register_date": "2017-01-26 10:20:04", "event_group_registered": "DM6000 Group 1", "event_registered": "DM6000 Large conference","user_information": "","date_of_birth": null,"company": "","company_role": "","phone_number": "","Mobile Number": "","attendee_group": "","plus_guest": 0,"guest_of": null}]}');
  61. res.setStatus('OK');
  62. res.setStatusCode(200);
  63. return res;
  64. }
  65. }
  66.  
  67. public String fetchAttendeeJSON(String endpoint)
  68.  
  69. {
  70.  
  71. try {
  72. List<Event__c> evEvent = [SELECT Event_Id__c,Event_Group_Id__c FROM Event__c WHERE Event_Name__c LIKE :selectedEventValue LIMIT 1];
  73. Http http = new Http();
  74. HttpRequest request = new HttpRequest();
  75. request.setHeader('Content-Type', 'application/json');
  76. request.setHeader('dm', auth.Authentication_Site__c);
  77. request.setHeader('api-key', auth.Authentication_Key__c);
  78. request.setHeader('event-id', evEvent[0].Event_Id__c);
  79. request.setEndPoint(endpoint);
  80. request.setMethod('GET');
  81. request.setTimeout(120000);
  82. HttpResponse response = http.send(request);
  83. return response.getBody();
  84.  
  85. }
  86.  
  87. catch(Exception ex)
  88.  
  89. {
  90. return '';
  91. }
  92.  
  93.  
  94. }
  95.  
  96. @isTest
  97. public class SyncExtensionControllerTest {
  98.  
  99. @isTest public static void testBackupAttendees() {
  100. Authentication__c auth = new Authentication__c();
  101. auth.Authentication_Site__c ='testsite';
  102. auth.Authenticated_as__c='testing@testing.com';
  103. auth.Authentication_Key__c='00000000000000000000';
  104. insert auth;
  105.  
  106. Attendee_Backup__c att = new Attendee_Backup__c();
  107. att.Attendee_Backup_EA_Event_Id__c = 2;
  108. att.Attendee_Backup_Email_Address__c = 'test@test.com';
  109. att.Attendee_Backup_Event_Group_Registered__c = '1';
  110. att.Attendee_Backup_Event_Registered__c = 'Test Event';
  111. att.Attendee_Backup_Forename__c = 'TestF';
  112. att.Attendee_Backup_Surname__c = 'TestS';
  113. att.Attendee_Backup_Register_Date__c = system.today();
  114. att.Attendee_Backup_Title__c = 'Mr';
  115. att.Attendee_Backup_U_Id__c = 5;
  116. att.Attendee_Backup_Registration__c = '1';
  117. att.Attendee_Backup_Checkin__c = '';
  118. insert att;
  119.  
  120.  
  121.  
  122. test.startTest();
  123. Test.setMock(HttpCalloutMock.class, new AttendeeMockHttpResponseGenerator());
  124. PageReference pageRef = Page.DelegateManagerSite;
  125. Test.setCurrentPage(pageRef);
  126. ApexPages.StandardController stcontroller1 = new ApexPages.StandardController(auth);
  127. SyncControllerExtension a = new SyncControllerExtension(stcontroller1);
  128. a.getBackupAttendees();
  129. test.stopTest();
  130.  
  131.  
  132. }
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement