You need to sign in to do that
Don't have an account?
swain 10
Batch Apex Test Coverage
global class EcommerceToUnitOfUseInShowingsBatchJob implements Database.Batchable<sObject> {
String query;
private List<Id> showingIds;
private List<Showing__c> showingObj;
global EcommerceToUnitOfUseInShowingsBatchJob() {
}
global EcommerceToUnitOfUseInShowingsBatchJob(List<Showing__c> parameter) {
showingObj=parameter;
}
global Database.QueryLocator start(Database.BatchableContext BC) {
query = 'SELECT Id, Account__c, Ecommerce__c, Use_of_Unit__c From Showing__c where Ecommerce__C !=null and Unit__r.RecordType.Name=\'Active\'';
if (null != showingIds && !showingIds.isEmpty()) {
query += ' ANd Id IN :showingIds';
}
return Database.getQueryLocator(query);
}
global void execute(Database.BatchableContext BC, List<sObject> scope) {
Map<Id,Showing__c> showingsToUpdate = new Map<Id,Showing__c>();
List<Showing__c> showingsIds = (List<Showing__c>) scope;
for( Showing__c shwng : showingsIds)
{
List<Account> accounts = [SELECT Id from Account WHERE Id=:shwng.Account__c];
if (!accounts.isEmpty() || null == shwng.Account__c) {
if('Yes'.equals(shwng.Ecommerce__c)) {
shwng.Use_of_Unit__c='E-Commerce';
showingsToUpdate.put(shwng.Id,shwng);
} else if('No'.equals(shwng.Ecommerce__c) || 'Unknown'.equals(shwng.Ecommerce__c)) {
shwng.Use_of_Unit__c='';
showingsToUpdate.put(shwng.Id,shwng);
}
}
}
if (!showingsToUpdate.isEmpty()) {
update(showingsToUpdate.values());
}
}
global void finish(Database.BatchableContext BC) {
}
}
String query;
private List<Id> showingIds;
private List<Showing__c> showingObj;
global EcommerceToUnitOfUseInShowingsBatchJob() {
}
global EcommerceToUnitOfUseInShowingsBatchJob(List<Showing__c> parameter) {
showingObj=parameter;
}
global Database.QueryLocator start(Database.BatchableContext BC) {
query = 'SELECT Id, Account__c, Ecommerce__c, Use_of_Unit__c From Showing__c where Ecommerce__C !=null and Unit__r.RecordType.Name=\'Active\'';
if (null != showingIds && !showingIds.isEmpty()) {
query += ' ANd Id IN :showingIds';
}
return Database.getQueryLocator(query);
}
global void execute(Database.BatchableContext BC, List<sObject> scope) {
Map<Id,Showing__c> showingsToUpdate = new Map<Id,Showing__c>();
List<Showing__c> showingsIds = (List<Showing__c>) scope;
for( Showing__c shwng : showingsIds)
{
List<Account> accounts = [SELECT Id from Account WHERE Id=:shwng.Account__c];
if (!accounts.isEmpty() || null == shwng.Account__c) {
if('Yes'.equals(shwng.Ecommerce__c)) {
shwng.Use_of_Unit__c='E-Commerce';
showingsToUpdate.put(shwng.Id,shwng);
} else if('No'.equals(shwng.Ecommerce__c) || 'Unknown'.equals(shwng.Ecommerce__c)) {
shwng.Use_of_Unit__c='';
showingsToUpdate.put(shwng.Id,shwng);
}
}
}
if (!showingsToUpdate.isEmpty()) {
update(showingsToUpdate.values());
}
}
global void finish(Database.BatchableContext BC) {
}
}
Raj Vakati
try this code