You need to sign in to do that
Don't have an account?
CodeHeartsSFDC
Help for Code coverage required
Hi,
I have the below class for updating contact and account when a custom object record is created/updated. My test class coverage is not going past 65%. Can someone help me with this. This is an urgent request, appreciate some quick help. The lines highlighted in bold are not covered
Class:
public without sharing class SubscriptionService {
public static void updateContact(List<OrderApi__Subscription__c> records){
Set<Id> contactIds = new Set<Id>();
List<Contact> contactList = new List<Contact>();
Map<Id,Contact> conIdVSContactMap=new Map<Id,Contact>();
List<Contact> contactList1 = new List<Contact>();
Integer count = 0;
for(OrderApi__Subscription__c sub: records) {
contactIds.add(sub.OrderApi__Contact__c);
}
if(contactIds.size()>0){
contactList = [Select id, Chapter_Member_Status__c, Chapter_Member_Activated_Date__c, Member_Paid_Through_Date__c, Member_Term_End_Date__c, Member_Term_Start_Date__c from Contact where id IN : contactIds LIMIT 10000];
}
if(contactList.size()>0){
for(Contact con:contactList){
conIdVSContactMap.put(con.Id,con);
}
}
if(conIdVSContactMap.size()>0){
Subscription__c mhc = Subscription__c.getInstance();
string ItemCollID = mhc.Collegiate_Item_Id__c;
for(OrderApi__Subscription__c sub:records){
if(conIdVSContactMap.containsKey(sub.OrderApi__Contact__c)){
if(sub.OrderApi__Item__c != NULL && sub.OrderApi__Item__c == ItemCollID){
Contact newCon=conIdVSContactMap.get(sub.OrderApi__Contact__c);
newCon.Chapter_Member_Status__c=sub.OrderApi__Status__c;
newCon.Chapter_Member_Activated_Date__c=string.valueof(sub.OrderApi__Activated_Date__c);
newCon.Member_Paid_Through_Date__c=string.valueof(sub.OrderApi__Paid_Through_Date__c);
newCon.Member_Term_End_Date__c=string.valueof(sub.OrderApi__Current_Term_End_Date__c);
newCon.Member_Term_Start_Date__c=string.valueof(sub.OrderApi__Current_Term_Start_Date__c);
contactList1.add(newCon);
}
}
}
}
if(contactList1.size()>0) {
update contactList1;
}
}
public static void updateAccount(List<OrderApi__Subscription__c> records){
map<id,Account> updateMap =new map<id,Account>();
set<ID> subnameset=new set<ID>();
Map<ID, Account> parentAcc;
List<Account> accountList = new List<Account>();
List<Account> chapAccountList = new List<Account>();
Subscription__c mhc = Subscription__c.getInstance();
string ItemCollID = mhc.Collegiate_Item_Id__c;
if(Trigger.isInsert||Trigger.isUpdate){
for(OrderApi__Subscription__c sub:records){
if(sub.OrderApi__Account__c != null && sub.OrderApi__Item__c != NULL && sub.OrderApi__Item__c == ItemCollID){
subnameset.add(sub.OrderApi__Account__c);
}
}
}
List<AggregateResult> AggregateResultList = [select OrderApi__Account__c,OrderApi__Status__c, OrderApi__Subscription_Plan__c, OrderApi__Activated_Date__c, OrderApi__Paid_Through_Date__c, OrderApi__Term_Start_Date__c, OrderApi__Contact__c, max(OrderApi__Term_End_Date__c) maxDate from OrderApi__Subscription__c where OrderApi__Account__c in:subnameset group by OrderApi__Account__c, OrderApi__Status__c, OrderApi__Subscription_Plan__c, OrderApi__Activated_Date__c, OrderApi__Paid_Through_Date__c, OrderApi__Term_Start_Date__c, OrderApi__Contact__c];
if(AggregateResultList != null && AggregateResultList.size() > 0){
for(AggregateResult aggr:AggregateResultList){
if(aggr.get('OrderApi__Status__c') == 'Active') {
Account acc=new Account();
acc.Id=(id)aggr.get('OrderApi__Account__c');
acc.Chapter_Term_End_Date__c=string.valueOf(aggr.get('maxDate'));
acc.Status__c=string.valueOf(aggr.get('OrderApi__Status__c'));
acc.Chapter_Activated_Date__c=string.valueOf(aggr.get('OrderApi__Activated_Date__c'));
acc.Chapter_Paid_Through_Date__c=string.valueOf(aggr.get('OrderApi__Paid_Through_Date__c'));
acc.Chapter_Term_Start_Date__c=string.valueOf(aggr.get('OrderApi__Term_Start_Date__c'));
updateMap.put(acc.Id, acc);
}
}
}
update updateMap.values();
parentAcc = new Map<Id, Account>([SELECT id, Member_Count__c from Account WHERE Id IN :subnameset]);
Integer soql = [Select count() FROM OrderApi__Subscription__c WHERE OrderApi__Account__r.Id =:subnameset AND OrderApi__Is_Active__c != FALSE];
for(OrderApi__Subscription__c subs:records){
if(subs.OrderApi__Item__c != NULL && subs.OrderApi__Item__c == ItemCollID) {
Account newAcc = parentAcc.get(subs.OrderApi__Account__c);
newAcc.Member_Count__c = soql;
accountList.add(newAcc);
}
}
if(accountList.size()>0) {
update accountList;
}
}
public static void updateChapter(List<OrderApi__Subscription__c> records){
Set<Id> accountIds = new Set<Id>();
List<Account> accountList = new List<Account>();
List<OrderApi__Business_Group__c> bg;
Map<Id,Account> accIdVSAccountMap=new Map<Id,Account>();
List<Account> accountList1 = new List<Account>();
for(OrderApi__Subscription__c sub: records) {
accountIds.add(sub.OrderApi__Account__c);
}
if(accountIds.size()>0){
accountList = [Select id, Chapter__c from Account where id IN : accountIds LIMIT 10000];
}
if(accountList.size()>0){
for(Account acc:accountList){
accIdVSAccountMap.put(acc.Id,acc);
}
}
bg=[Select id, Collegiate_Chapter_Number__c, Collegiate_Chapter_Number_Text__c from OrderApi__Business_Group__c where Name = 'NAfME Business Group'];
String chapNum;
if(bg!=null && bg.size() > 0){
chapNum = bg[0].Collegiate_Chapter_Number_Text__c;
}
if(accIdVSAccountMap.size()>0){
Subscription__c mhc = Subscription__c.getInstance();
string ItemCollID = mhc.Collegiate_Item_Id__c;
for(OrderApi__Subscription__c sub:records){
if(accIdVSAccountMap.containsKey(sub.OrderApi__Account__c)){
if(sub.OrderApi__Item__c != NULL && sub.OrderApi__Item__c == ItemCollID){
Account newAcc=accIdVSAccountMap.get(sub.OrderApi__Account__c);
if(newAcc.Chapter__c == NULL){
newAcc.Chapter__c='C-'+chapNum;
accountList1.add(newAcc);
OrderApi__Business_Group__c busGroup=new OrderApi__Business_Group__c();
busGroup.Collegiate_Chapter_Number__c=Integer.valueOf(chapNum) + 1;
busGroup.id=bg[0].id;
update busGroup;
}
}
}
}
}
if(accountList1.size()>0) {
update accountList1;
}
}
}
Test class:
@isTest
public class Test_SubscriptionService {
public static Boolean isInstalled = false;
private static void install() {
if (!isInstalled) {
Framework.Installer.install();
PagesApi.PackageScripts.install();
OrderApi.PackageScripts.install();
EventApi.PackageScripts.install();
// Create a routing rule for Subscription
Framework.RoutingRule[] rules = new List<Framework.RoutingRule>();
Framework.RoutingRule subscriptionRule = new Framework.RoutingRule();
subscriptionRule.apexClass = NAME_Subscription.class.getName();
subscriptionRule.namespace = '';
subscriptionRule.isEnabled = true;
subscriptionRule.sObjectName = 'OrderApi__Subscription__c';
subscriptionRule.executionOrder = 80;
rules.add(subscriptionRule);
Framework.Config.push(rules);
isInstalled = true;
}
}
static testmethod void subTest(){
install();
Account acc=new Account();
acc.Name = 'Test My Account Test';
acc.Chapter__c = '';
insert acc;
Contact con=new Contact();
con.FirstName='Test';
con.LastName='Sub Contact 1';
con.email='testnafme@mailinator.com';
con.accountid=acc.id;
insert con;
Contact con1=new Contact();
con1.FirstName='Test';
con1.LastName='Sub Contact 2';
con1.email='testnafme1@mailinator.com';
con1.accountid=acc.id;
insert con1;
User usr = new User();
usr.ProfileId = [select Name, id From Profile where UserLicense.Name like '%Customer Community%' limit 1].Id;
usr.Contactid = con.id;
usr.Username = con.Email;
usr.LastName=con.LastName;
usr.Email=con.Email;
usr.Alias='MNU'+String.ValueOf(con.id).right(5);
usr.CommunityNickname = con.Email;
usr.EmailEncodingKey='UTF-8';
usr.languagelocalekey='en_US';
usr.timezonesidkey='America/Los_Angeles';
usr.localesidkey='en_US';
usr.IsActive=true;
Insert usr;
OrderApi__Business_Group__c bg = new OrderApi__Business_Group__c();
bg.Name = 'Test Business Group';
bg.Collegiate_Chapter_Number__c = Integer.valueOf('1111');
insert bg;
OrderApi__Subscription_Plan__c subPlan=new OrderApi__Subscription_Plan__c();
subPlan.Name = 'Test Subscription Plan';
subPlan.OrderAPi__Type__c = 'Termed';
subPlan.OrderAPi__Initial_Term_Months__c = 12;
subPlan.OrderAPi__Renewal_Term_Months__c = 12;
subPlan.OrderAPi__Bill_Cycle__c = 'AUTO';
subPlan.OrderAPi__Auto_Renew_Option__c = 'Enabled';
subPlan.OrderAPi__Is_Active__c = true;
subPlan.OrderApi__Business_Group__c = bg.id;
insert subPlan;
OrderApi__Item_Class__c ic = new OrderApi__Item_Class__c();
ic.OrderApi__Business_Group__c = bg.Id;
ic.OrderApi__Is_Active__c = true;
ic.OrderApi__Is_Subscription__c = true;
ic.OrderApi__Enable_Assignments__c = false;
ic.OrderApi__Assignment_Sobject__c = 'OrderApi__Assignment__c';
insert ic;
OrderApi__Item__c i=new OrderApi__Item__c();
i.OrderApi__Item_Class__c = ic.Id;
i.Name = 'Test Collegiate';
insert i;
Account a = [Select id from Account where Name = 'Test My Account Test'];
Contact c = [Select id from Contact where Name = 'Test Sub Contact 1'];
OrderApi__Subscription_Plan__c sp = [Select id from OrderApi__Subscription_Plan__c where Name = 'Test Subscription Plan'];
OrderApi__Item__c it = [Select id from OrderApi__Item__c where Name = 'Test Collegiate'];
Test.startTest();
OrderApi__Subscription__c sub=new OrderApi__Subscription__c();
sub.OrderApi__Account__c = acc.id;
sub.OrderApi__Contact__c = con.id;
sub.OrderApi__Is_Active__c = True;
sub.OrderApi__Status__c = 'Active';
sub.OrderApi__Subscription_Plan__c = subPlan.id;
sub.OrderApi__Item__c = i.id;
sub.OrderApi__Paid_Through_Date__c = date.parse('06/30/2020');
sub.OrderApi__Activated_Date__c = date.parse('08/01/2019');
insert sub;
con.Chapter_Member_Status__c = 'Active';
con.Member_Term_Start_Date__c = string.valueOf('sub.OrderApi__Term_Start_Date__c');
con.Member_Term_End_Date__c = string.valueOf('sub.OrderApi__Term_End_Date__c');
con.Member_Paid_Through_Date__c = string.valueOf('sub.OrderApi__Paid_Through_Date__c');
con.Chapter_Member_Activated_Date__c = string.valueOf('sub.OrderApi__Activated_Date__c');
update con;
if(acc.Chapter__c == NULL){
acc.Chapter__c = bg.Collegiate_Chapter_Number_Text__c;
}
acc.Chapter_Term_Start_Date__c = string.valueOf('sub.OrderApi__Term_Start_Date__c');
acc.Chapter_Term_End_Date__c = string.valueOf('sub.OrderApi__Term_End_Date__c');
acc.Chapter_Paid_Through_Date__c = string.valueOf('sub.OrderApi__Paid_Through_Date__c');
acc.Chapter_Activated_Date__c = string.valueOf('sub.OrderApi__Activated_Date__c');
acc.Status__c = 'Active';
update acc;
OrderApi__Subscription__c sub1=new OrderApi__Subscription__c();
sub1.OrderApi__Account__c = acc.id;
sub1.OrderApi__Contact__c = con1.id;
sub1.OrderApi__Is_Active__c = True;
sub1.OrderApi__Status__c = 'Active';
sub1.OrderApi__Subscription_Plan__c = sp.id;
sub1.OrderApi__Item__c = it.id;
sub1.OrderApi__Paid_Through_Date__c = date.parse('06/30/2020');
sub1.OrderApi__Activated_Date__c = date.parse('09/01/2019');
insert sub1;
con1.Chapter_Member_Status__c = 'Active';
con1.Member_Term_Start_Date__c = string.valueOf('sub.OrderApi__Term_Start_Date__c');
con1.Member_Term_End_Date__c = string.valueOf('sub.OrderApi__Term_End_Date__c');
con1.Member_Paid_Through_Date__c = string.valueOf('sub.OrderApi__Paid_Through_Date__c');
con1.Chapter_Member_Activated_Date__c = string.valueOf('sub.OrderApi__Activated_Date__c');
update con;
acc.Chapter_Term_Start_Date__c = string.valueOf('sub1.OrderApi__Term_Start_Date__c');
acc.Chapter_Term_End_Date__c = string.valueOf('sub1.OrderApi__Term_End_Date__c');
acc.Chapter_Paid_Through_Date__c = string.valueOf('sub1.OrderApi__Paid_Through_Date__c');
acc.Chapter_Activated_Date__c = string.valueOf('sub1.OrderApi__Activated_Date__c');
acc.Status__c = 'Active';
update acc;
sub.OrderApi__Status__c = 'Cancelled';
sub.OrderApi__Paid_Through_Date__c = date.parse('06/30/2020');
sub.OrderApi__Activated_Date__c = date.parse('08/01/2019');
update sub;
con.Chapter_Member_Status__c = 'Cancelled';
con.Member_Term_Start_Date__c = string.valueOf('sub.OrderApi__Term_Start_Date__c');
con.Member_Term_End_Date__c = string.valueOf('sub.OrderApi__Term_End_Date__c');
con.Member_Paid_Through_Date__c = string.valueOf('sub.OrderApi__Paid_Through_Date__c');
con.Chapter_Member_Activated_Date__c = string.valueOf('sub.OrderApi__Activated_Date__c');
update con;
acc.Chapter_Term_Start_Date__c = string.valueOf('sub.OrderApi__Term_Start_Date__c');
acc.Chapter_Term_End_Date__c = string.valueOf('sub.OrderApi__Term_End_Date__c');
acc.Chapter_Paid_Through_Date__c = string.valueOf('sub.OrderApi__Paid_Through_Date__c');
acc.Chapter_Activated_Date__c = string.valueOf('sub.OrderApi__Activated_Date__c');
acc.Status__c = 'Cancelled';
update acc;
sub1.OrderApi__Status__c = 'Cancelled';
sub1.OrderApi__Paid_Through_Date__c = date.parse('08/30/2020');
sub1.OrderApi__Activated_Date__c = date.parse('09/01/2019');
update sub;
con1.Chapter_Member_Status__c = 'Cancelled';
con1.Member_Term_Start_Date__c = string.valueOf('sub1.OrderApi__Term_Start_Date__c');
con1.Member_Term_End_Date__c = string.valueOf('sub1.OrderApi__Term_End_Date__c');
con1.Member_Paid_Through_Date__c = string.valueOf('sub1.OrderApi__Paid_Through_Date__c');
con1.Chapter_Member_Activated_Date__c = string.valueOf('sub1.OrderApi__Activated_Date__c');
update con1;
acc.Chapter_Term_Start_Date__c = string.valueOf('sub1.OrderApi__Term_Start_Date__c');
acc.Chapter_Term_End_Date__c = string.valueOf('sub1.OrderApi__Term_End_Date__c');
acc.Chapter_Paid_Through_Date__c = string.valueOf('sub1.OrderApi__Paid_Through_Date__c');
acc.Chapter_Activated_Date__c = string.valueOf('sub1.OrderApi__Activated_Date__c');
acc.Status__c = 'Cancelled';
update acc;
SubscriptionService.forTestMethod();
Test.stopTest();
}
}
I have the below class for updating contact and account when a custom object record is created/updated. My test class coverage is not going past 65%. Can someone help me with this. This is an urgent request, appreciate some quick help. The lines highlighted in bold are not covered
Class:
public without sharing class SubscriptionService {
public static void updateContact(List<OrderApi__Subscription__c> records){
Set<Id> contactIds = new Set<Id>();
List<Contact> contactList = new List<Contact>();
Map<Id,Contact> conIdVSContactMap=new Map<Id,Contact>();
List<Contact> contactList1 = new List<Contact>();
Integer count = 0;
for(OrderApi__Subscription__c sub: records) {
contactIds.add(sub.OrderApi__Contact__c);
}
if(contactIds.size()>0){
contactList = [Select id, Chapter_Member_Status__c, Chapter_Member_Activated_Date__c, Member_Paid_Through_Date__c, Member_Term_End_Date__c, Member_Term_Start_Date__c from Contact where id IN : contactIds LIMIT 10000];
}
if(contactList.size()>0){
for(Contact con:contactList){
conIdVSContactMap.put(con.Id,con);
}
}
if(conIdVSContactMap.size()>0){
Subscription__c mhc = Subscription__c.getInstance();
string ItemCollID = mhc.Collegiate_Item_Id__c;
for(OrderApi__Subscription__c sub:records){
if(conIdVSContactMap.containsKey(sub.OrderApi__Contact__c)){
if(sub.OrderApi__Item__c != NULL && sub.OrderApi__Item__c == ItemCollID){
Contact newCon=conIdVSContactMap.get(sub.OrderApi__Contact__c);
newCon.Chapter_Member_Status__c=sub.OrderApi__Status__c;
newCon.Chapter_Member_Activated_Date__c=string.valueof(sub.OrderApi__Activated_Date__c);
newCon.Member_Paid_Through_Date__c=string.valueof(sub.OrderApi__Paid_Through_Date__c);
newCon.Member_Term_End_Date__c=string.valueof(sub.OrderApi__Current_Term_End_Date__c);
newCon.Member_Term_Start_Date__c=string.valueof(sub.OrderApi__Current_Term_Start_Date__c);
contactList1.add(newCon);
}
}
}
}
if(contactList1.size()>0) {
update contactList1;
}
}
public static void updateAccount(List<OrderApi__Subscription__c> records){
map<id,Account> updateMap =new map<id,Account>();
set<ID> subnameset=new set<ID>();
Map<ID, Account> parentAcc;
List<Account> accountList = new List<Account>();
List<Account> chapAccountList = new List<Account>();
Subscription__c mhc = Subscription__c.getInstance();
string ItemCollID = mhc.Collegiate_Item_Id__c;
if(Trigger.isInsert||Trigger.isUpdate){
for(OrderApi__Subscription__c sub:records){
if(sub.OrderApi__Account__c != null && sub.OrderApi__Item__c != NULL && sub.OrderApi__Item__c == ItemCollID){
subnameset.add(sub.OrderApi__Account__c);
}
}
}
List<AggregateResult> AggregateResultList = [select OrderApi__Account__c,OrderApi__Status__c, OrderApi__Subscription_Plan__c, OrderApi__Activated_Date__c, OrderApi__Paid_Through_Date__c, OrderApi__Term_Start_Date__c, OrderApi__Contact__c, max(OrderApi__Term_End_Date__c) maxDate from OrderApi__Subscription__c where OrderApi__Account__c in:subnameset group by OrderApi__Account__c, OrderApi__Status__c, OrderApi__Subscription_Plan__c, OrderApi__Activated_Date__c, OrderApi__Paid_Through_Date__c, OrderApi__Term_Start_Date__c, OrderApi__Contact__c];
if(AggregateResultList != null && AggregateResultList.size() > 0){
for(AggregateResult aggr:AggregateResultList){
if(aggr.get('OrderApi__Status__c') == 'Active') {
Account acc=new Account();
acc.Id=(id)aggr.get('OrderApi__Account__c');
acc.Chapter_Term_End_Date__c=string.valueOf(aggr.get('maxDate'));
acc.Status__c=string.valueOf(aggr.get('OrderApi__Status__c'));
acc.Chapter_Activated_Date__c=string.valueOf(aggr.get('OrderApi__Activated_Date__c'));
acc.Chapter_Paid_Through_Date__c=string.valueOf(aggr.get('OrderApi__Paid_Through_Date__c'));
acc.Chapter_Term_Start_Date__c=string.valueOf(aggr.get('OrderApi__Term_Start_Date__c'));
updateMap.put(acc.Id, acc);
}
}
}
update updateMap.values();
parentAcc = new Map<Id, Account>([SELECT id, Member_Count__c from Account WHERE Id IN :subnameset]);
Integer soql = [Select count() FROM OrderApi__Subscription__c WHERE OrderApi__Account__r.Id =:subnameset AND OrderApi__Is_Active__c != FALSE];
for(OrderApi__Subscription__c subs:records){
if(subs.OrderApi__Item__c != NULL && subs.OrderApi__Item__c == ItemCollID) {
Account newAcc = parentAcc.get(subs.OrderApi__Account__c);
newAcc.Member_Count__c = soql;
accountList.add(newAcc);
}
}
if(accountList.size()>0) {
update accountList;
}
}
public static void updateChapter(List<OrderApi__Subscription__c> records){
Set<Id> accountIds = new Set<Id>();
List<Account> accountList = new List<Account>();
List<OrderApi__Business_Group__c> bg;
Map<Id,Account> accIdVSAccountMap=new Map<Id,Account>();
List<Account> accountList1 = new List<Account>();
for(OrderApi__Subscription__c sub: records) {
accountIds.add(sub.OrderApi__Account__c);
}
if(accountIds.size()>0){
accountList = [Select id, Chapter__c from Account where id IN : accountIds LIMIT 10000];
}
if(accountList.size()>0){
for(Account acc:accountList){
accIdVSAccountMap.put(acc.Id,acc);
}
}
bg=[Select id, Collegiate_Chapter_Number__c, Collegiate_Chapter_Number_Text__c from OrderApi__Business_Group__c where Name = 'NAfME Business Group'];
String chapNum;
if(bg!=null && bg.size() > 0){
chapNum = bg[0].Collegiate_Chapter_Number_Text__c;
}
if(accIdVSAccountMap.size()>0){
Subscription__c mhc = Subscription__c.getInstance();
string ItemCollID = mhc.Collegiate_Item_Id__c;
for(OrderApi__Subscription__c sub:records){
if(accIdVSAccountMap.containsKey(sub.OrderApi__Account__c)){
if(sub.OrderApi__Item__c != NULL && sub.OrderApi__Item__c == ItemCollID){
Account newAcc=accIdVSAccountMap.get(sub.OrderApi__Account__c);
if(newAcc.Chapter__c == NULL){
newAcc.Chapter__c='C-'+chapNum;
accountList1.add(newAcc);
OrderApi__Business_Group__c busGroup=new OrderApi__Business_Group__c();
busGroup.Collegiate_Chapter_Number__c=Integer.valueOf(chapNum) + 1;
busGroup.id=bg[0].id;
update busGroup;
}
}
}
}
}
if(accountList1.size()>0) {
update accountList1;
}
}
}
Test class:
@isTest
public class Test_SubscriptionService {
public static Boolean isInstalled = false;
private static void install() {
if (!isInstalled) {
Framework.Installer.install();
PagesApi.PackageScripts.install();
OrderApi.PackageScripts.install();
EventApi.PackageScripts.install();
// Create a routing rule for Subscription
Framework.RoutingRule[] rules = new List<Framework.RoutingRule>();
Framework.RoutingRule subscriptionRule = new Framework.RoutingRule();
subscriptionRule.apexClass = NAME_Subscription.class.getName();
subscriptionRule.namespace = '';
subscriptionRule.isEnabled = true;
subscriptionRule.sObjectName = 'OrderApi__Subscription__c';
subscriptionRule.executionOrder = 80;
rules.add(subscriptionRule);
Framework.Config.push(rules);
isInstalled = true;
}
}
static testmethod void subTest(){
install();
Account acc=new Account();
acc.Name = 'Test My Account Test';
acc.Chapter__c = '';
insert acc;
Contact con=new Contact();
con.FirstName='Test';
con.LastName='Sub Contact 1';
con.email='testnafme@mailinator.com';
con.accountid=acc.id;
insert con;
Contact con1=new Contact();
con1.FirstName='Test';
con1.LastName='Sub Contact 2';
con1.email='testnafme1@mailinator.com';
con1.accountid=acc.id;
insert con1;
User usr = new User();
usr.ProfileId = [select Name, id From Profile where UserLicense.Name like '%Customer Community%' limit 1].Id;
usr.Contactid = con.id;
usr.Username = con.Email;
usr.LastName=con.LastName;
usr.Email=con.Email;
usr.Alias='MNU'+String.ValueOf(con.id).right(5);
usr.CommunityNickname = con.Email;
usr.EmailEncodingKey='UTF-8';
usr.languagelocalekey='en_US';
usr.timezonesidkey='America/Los_Angeles';
usr.localesidkey='en_US';
usr.IsActive=true;
Insert usr;
OrderApi__Business_Group__c bg = new OrderApi__Business_Group__c();
bg.Name = 'Test Business Group';
bg.Collegiate_Chapter_Number__c = Integer.valueOf('1111');
insert bg;
OrderApi__Subscription_Plan__c subPlan=new OrderApi__Subscription_Plan__c();
subPlan.Name = 'Test Subscription Plan';
subPlan.OrderAPi__Type__c = 'Termed';
subPlan.OrderAPi__Initial_Term_Months__c = 12;
subPlan.OrderAPi__Renewal_Term_Months__c = 12;
subPlan.OrderAPi__Bill_Cycle__c = 'AUTO';
subPlan.OrderAPi__Auto_Renew_Option__c = 'Enabled';
subPlan.OrderAPi__Is_Active__c = true;
subPlan.OrderApi__Business_Group__c = bg.id;
insert subPlan;
OrderApi__Item_Class__c ic = new OrderApi__Item_Class__c();
ic.OrderApi__Business_Group__c = bg.Id;
ic.OrderApi__Is_Active__c = true;
ic.OrderApi__Is_Subscription__c = true;
ic.OrderApi__Enable_Assignments__c = false;
ic.OrderApi__Assignment_Sobject__c = 'OrderApi__Assignment__c';
insert ic;
OrderApi__Item__c i=new OrderApi__Item__c();
i.OrderApi__Item_Class__c = ic.Id;
i.Name = 'Test Collegiate';
insert i;
Account a = [Select id from Account where Name = 'Test My Account Test'];
Contact c = [Select id from Contact where Name = 'Test Sub Contact 1'];
OrderApi__Subscription_Plan__c sp = [Select id from OrderApi__Subscription_Plan__c where Name = 'Test Subscription Plan'];
OrderApi__Item__c it = [Select id from OrderApi__Item__c where Name = 'Test Collegiate'];
Test.startTest();
OrderApi__Subscription__c sub=new OrderApi__Subscription__c();
sub.OrderApi__Account__c = acc.id;
sub.OrderApi__Contact__c = con.id;
sub.OrderApi__Is_Active__c = True;
sub.OrderApi__Status__c = 'Active';
sub.OrderApi__Subscription_Plan__c = subPlan.id;
sub.OrderApi__Item__c = i.id;
sub.OrderApi__Paid_Through_Date__c = date.parse('06/30/2020');
sub.OrderApi__Activated_Date__c = date.parse('08/01/2019');
insert sub;
con.Chapter_Member_Status__c = 'Active';
con.Member_Term_Start_Date__c = string.valueOf('sub.OrderApi__Term_Start_Date__c');
con.Member_Term_End_Date__c = string.valueOf('sub.OrderApi__Term_End_Date__c');
con.Member_Paid_Through_Date__c = string.valueOf('sub.OrderApi__Paid_Through_Date__c');
con.Chapter_Member_Activated_Date__c = string.valueOf('sub.OrderApi__Activated_Date__c');
update con;
if(acc.Chapter__c == NULL){
acc.Chapter__c = bg.Collegiate_Chapter_Number_Text__c;
}
acc.Chapter_Term_Start_Date__c = string.valueOf('sub.OrderApi__Term_Start_Date__c');
acc.Chapter_Term_End_Date__c = string.valueOf('sub.OrderApi__Term_End_Date__c');
acc.Chapter_Paid_Through_Date__c = string.valueOf('sub.OrderApi__Paid_Through_Date__c');
acc.Chapter_Activated_Date__c = string.valueOf('sub.OrderApi__Activated_Date__c');
acc.Status__c = 'Active';
update acc;
OrderApi__Subscription__c sub1=new OrderApi__Subscription__c();
sub1.OrderApi__Account__c = acc.id;
sub1.OrderApi__Contact__c = con1.id;
sub1.OrderApi__Is_Active__c = True;
sub1.OrderApi__Status__c = 'Active';
sub1.OrderApi__Subscription_Plan__c = sp.id;
sub1.OrderApi__Item__c = it.id;
sub1.OrderApi__Paid_Through_Date__c = date.parse('06/30/2020');
sub1.OrderApi__Activated_Date__c = date.parse('09/01/2019');
insert sub1;
con1.Chapter_Member_Status__c = 'Active';
con1.Member_Term_Start_Date__c = string.valueOf('sub.OrderApi__Term_Start_Date__c');
con1.Member_Term_End_Date__c = string.valueOf('sub.OrderApi__Term_End_Date__c');
con1.Member_Paid_Through_Date__c = string.valueOf('sub.OrderApi__Paid_Through_Date__c');
con1.Chapter_Member_Activated_Date__c = string.valueOf('sub.OrderApi__Activated_Date__c');
update con;
acc.Chapter_Term_Start_Date__c = string.valueOf('sub1.OrderApi__Term_Start_Date__c');
acc.Chapter_Term_End_Date__c = string.valueOf('sub1.OrderApi__Term_End_Date__c');
acc.Chapter_Paid_Through_Date__c = string.valueOf('sub1.OrderApi__Paid_Through_Date__c');
acc.Chapter_Activated_Date__c = string.valueOf('sub1.OrderApi__Activated_Date__c');
acc.Status__c = 'Active';
update acc;
sub.OrderApi__Status__c = 'Cancelled';
sub.OrderApi__Paid_Through_Date__c = date.parse('06/30/2020');
sub.OrderApi__Activated_Date__c = date.parse('08/01/2019');
update sub;
con.Chapter_Member_Status__c = 'Cancelled';
con.Member_Term_Start_Date__c = string.valueOf('sub.OrderApi__Term_Start_Date__c');
con.Member_Term_End_Date__c = string.valueOf('sub.OrderApi__Term_End_Date__c');
con.Member_Paid_Through_Date__c = string.valueOf('sub.OrderApi__Paid_Through_Date__c');
con.Chapter_Member_Activated_Date__c = string.valueOf('sub.OrderApi__Activated_Date__c');
update con;
acc.Chapter_Term_Start_Date__c = string.valueOf('sub.OrderApi__Term_Start_Date__c');
acc.Chapter_Term_End_Date__c = string.valueOf('sub.OrderApi__Term_End_Date__c');
acc.Chapter_Paid_Through_Date__c = string.valueOf('sub.OrderApi__Paid_Through_Date__c');
acc.Chapter_Activated_Date__c = string.valueOf('sub.OrderApi__Activated_Date__c');
acc.Status__c = 'Cancelled';
update acc;
sub1.OrderApi__Status__c = 'Cancelled';
sub1.OrderApi__Paid_Through_Date__c = date.parse('08/30/2020');
sub1.OrderApi__Activated_Date__c = date.parse('09/01/2019');
update sub;
con1.Chapter_Member_Status__c = 'Cancelled';
con1.Member_Term_Start_Date__c = string.valueOf('sub1.OrderApi__Term_Start_Date__c');
con1.Member_Term_End_Date__c = string.valueOf('sub1.OrderApi__Term_End_Date__c');
con1.Member_Paid_Through_Date__c = string.valueOf('sub1.OrderApi__Paid_Through_Date__c');
con1.Chapter_Member_Activated_Date__c = string.valueOf('sub1.OrderApi__Activated_Date__c');
update con1;
acc.Chapter_Term_Start_Date__c = string.valueOf('sub1.OrderApi__Term_Start_Date__c');
acc.Chapter_Term_End_Date__c = string.valueOf('sub1.OrderApi__Term_End_Date__c');
acc.Chapter_Paid_Through_Date__c = string.valueOf('sub1.OrderApi__Paid_Through_Date__c');
acc.Chapter_Activated_Date__c = string.valueOf('sub1.OrderApi__Activated_Date__c');
acc.Status__c = 'Cancelled';
update acc;
SubscriptionService.forTestMethod();
Test.stopTest();
}
}