Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public PageReference getBackupAttendees() {
- //Variable Declarations
- List<Attendee_Backup__c> lstAttendeeBackobj = new List<Attendee_Backup__c>();
- //Read Web Service
- selectedBackAttendee = fetchAttendeeJSON(requestEndpoint + 'attended');
- Map<String, Object> data = (Map<String, Object>)JSON.deserializeUntyped(selectedBackAttendee);
- String status = (String)data.get('status');
- Integer count = (Integer)data.get('count');
- List<Object> results = (List<Object>) data.get('results');
- for(Object result: results) {
- Attendee_Backup__c attendeeBackObj= new Attendee_Backup__c();
- Map<String, Object> res = (Map<String, Object>) result;
- attendeeBackObj.Attendee_Backup_U_Id__c= Integer.valueof(res.get('u_id'));
- attendeeBackObj.Attendee_Backup_EA_Event_Id__c= Integer.valueof(res.get('event_id'));
- attendeeBackObj.Attendee_Backup_Title__c= String.valueof(res.get('title'));
- attendeeBackObj.Attendee_Backup_Forename__c= String.valueof(res.get('forename'));
- attendeeBackObj.Attendee_Backup_Surname__c= String.valueof(res.get('surname'));
- attendeeBackObj.Attendee_Backup_Email_Address__c= String.valueof(res.get('email'));
- attendeeBackObj.Attendee_Backup_Registration__c= String.valueof(res.get('registration'));
- attendeeBackObj.Attendee_Backup_Checkin__c = String.valueof(res.get('checked_in'));
- attendeeBackObj.Attendee_Backup_Event_Group_Registered__c= String.valueof(res.get('event_group_registered'));
- attendeeBackObj.Attendee_Backup_Event_Registered__c= String.valueof(res.get('event_registered'));
- lstAttendeeBackobj.add(attendeeBackObj);
- }
- if(Attendee_Backup__c.Attendee_Backup_U_Id__c.getDescribe().isUpdateable()){
- //Update object
- upsert lstAttendeeBackobj Attendee_Backup_U_Id__c;
- }
- PageReference syncRend = new PageReference('/apex/DelegateManagerSync?id=' + auth.Id); //redirect to Sync page if auth key is valid
- syncRend.setRedirect(false);
- return syncRend;
- }
- @isTest
- public with sharing class AttendeeMockHttpResponseGenerator implements HttpCalloutMock {
- // Implement this interface method
- public HTTPResponse respond(HTTPRequest req) {
- // Optionally, only send a mock response for a specific endpoint
- // and method.
- system.debug(req.getBody());
- system.debug(req.getMethod());
- system.debug(req.getEndpoint());
- System.assertEquals('endpoint here', req.getEndpoint());
- System.assertEquals('GET', req.getMethod());
- // Create a fake response
- HttpResponse res = new HttpResponse();
- res.setHeader('Content-Type', 'application/json');
- res.setHeader('dm', 'test');
- res.setHeader('api-key', '0000000000000000000');
- res.setHeader('event-id', '1');
- 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}]}');
- res.setStatus('OK');
- res.setStatusCode(200);
- return res;
- }
- }
- public String fetchAttendeeJSON(String endpoint)
- {
- try {
- List<Event__c> evEvent = [SELECT Event_Id__c,Event_Group_Id__c FROM Event__c WHERE Event_Name__c LIKE :selectedEventValue LIMIT 1];
- Http http = new Http();
- HttpRequest request = new HttpRequest();
- request.setHeader('Content-Type', 'application/json');
- request.setHeader('dm', auth.Authentication_Site__c);
- request.setHeader('api-key', auth.Authentication_Key__c);
- request.setHeader('event-id', evEvent[0].Event_Id__c);
- request.setEndPoint(endpoint);
- request.setMethod('GET');
- request.setTimeout(120000);
- HttpResponse response = http.send(request);
- return response.getBody();
- }
- catch(Exception ex)
- {
- return '';
- }
- }
- @isTest
- public class SyncExtensionControllerTest {
- @isTest public static void testBackupAttendees() {
- Authentication__c auth = new Authentication__c();
- auth.Authentication_Site__c ='testsite';
- auth.Authenticated_as__c='testing@testing.com';
- auth.Authentication_Key__c='00000000000000000000';
- insert auth;
- Attendee_Backup__c att = new Attendee_Backup__c();
- att.Attendee_Backup_EA_Event_Id__c = 2;
- att.Attendee_Backup_Email_Address__c = 'test@test.com';
- att.Attendee_Backup_Event_Group_Registered__c = '1';
- att.Attendee_Backup_Event_Registered__c = 'Test Event';
- att.Attendee_Backup_Forename__c = 'TestF';
- att.Attendee_Backup_Surname__c = 'TestS';
- att.Attendee_Backup_Register_Date__c = system.today();
- att.Attendee_Backup_Title__c = 'Mr';
- att.Attendee_Backup_U_Id__c = 5;
- att.Attendee_Backup_Registration__c = '1';
- att.Attendee_Backup_Checkin__c = '';
- insert att;
- test.startTest();
- Test.setMock(HttpCalloutMock.class, new AttendeeMockHttpResponseGenerator());
- PageReference pageRef = Page.DelegateManagerSite;
- Test.setCurrentPage(pageRef);
- ApexPages.StandardController stcontroller1 = new ApexPages.StandardController(auth);
- SyncControllerExtension a = new SyncControllerExtension(stcontroller1);
- a.getBackupAttendees();
- test.stopTest();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement