Created
November 2, 2016 15:46
-
-
Save mannharleen/8c2df70927777d1d5a27b64dd4d4a61b to your computer and use it in GitHub Desktop.
Salesforce trailhead - Asynchronous Apex Controlling Processes with Queueable Apex
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class AddPrimaryContact implements Queueable { | |
public contact c; | |
public String state; | |
public AddPrimaryContact(Contact c, String state) { | |
this.c = c; | |
this.state = state; | |
} | |
public void execute(QueueableContext qc) { | |
system.debug('this.c = '+this.c+' this.state = '+this.state); | |
List<Account> acc_lst = new List<account>([select id, name, BillingState from account where account.BillingState = :this.state limit 200]); | |
List<contact> c_lst = new List<contact>(); | |
for(account a: acc_lst) { | |
contact c = new contact(); | |
c = this.c.clone(false, false, false, false); | |
c.AccountId = a.Id; | |
c_lst.add(c); | |
} | |
insert c_lst; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@IsTest | |
public class AddPrimaryContactTest { | |
@IsTest | |
public static void testing() { | |
List<account> acc_lst = new List<account>(); | |
for (Integer i=0; i<50;i++) { | |
account a = new account(name=string.valueOf(i),billingstate='NY'); | |
system.debug('account a = '+a); | |
acc_lst.add(a); | |
} | |
for (Integer i=0; i<50;i++) { | |
account a = new account(name=string.valueOf(50+i),billingstate='CA'); | |
system.debug('account a = '+a); | |
acc_lst.add(a); | |
} | |
insert acc_lst; | |
Test.startTest(); | |
contact c = new contact(lastname='alex'); | |
AddPrimaryContact apc = new AddPrimaryContact(c,'CA'); | |
system.debug('apc = '+apc); | |
System.enqueueJob(apc); | |
Test.stopTest(); | |
List<contact> c_lst = new List<contact>([select id from contact]); | |
Integer size = c_lst.size(); | |
system.assertEquals(50, size); | |
} | |
} |
The 'AddPrimaryContactTest' test class doesn't appear to be using the 'AddPrimaryContact' class. iam getting this as error
(System Code)
Class.AccountProcessorTest.TestAccountProcessorTest: line 36, column 1
Class.AddPrimaryContactTest.testing: line 17, column 1
i am getting this error
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This worked well!