You need to sign in to do that
Don't have an account?
dev_sfdc1
Test Class for apex class
Hi..
I'm having error like this.. so I'm not getting any code coverage..
Class.AssetParts.<init>: line 10, column 1
Class.AssetPartsTestClass.AssetPartsTestClass: line 26, column 1
Apex Class:
public with sharing class AssetParts {
public Asset_Part__c astpart;
public Physical_Asset__c asset{get;set;}
public string assetname;
public AssetParts(ApexPages.StandardController con)
{
astpart=(Asset_Part__c)con.getRecord();
String astname = ApexPages.currentPage().getParameters().get('retURL');
string[] strsplit = astname.split('/');
assetname = strsplit[1];---------------> here class error
asset= new Physical_Asset__c();
}
public String errmsg{get;set;}
public PageReference Save()
{
astpart.Asset_Name__c =assetname;
insert astpart;
PageReference ref= new PageReference('/'+assetname);
ref.setredirect(true);
return ref;
}
}
My test class is:
@isTest
public class AssetPartsTestClass
{
static TestMethod void AssetPartsTestClass()
{
PageReference ref = Page.AssetParts;
Test.setcurrentPage(ref);
Account testAccount = new Account(Name='Test Company Name');
insert testAccount;
Physical_Asset__c phy = new Physical_Asset__c(Name='Physical Asset Name',Vendor_Account__c=testAccount.id);
insert phy;
Asset_Part__c testassetpart = new Asset_Part__c(Name='Test Assetpart Name',Vendor_Account__c=testAccount.id,Asset_Name__c =phy.id);
insert testassetpart;
ApexPages.currentPage().getParameters().put('assetname',phy.id);
ApexPages.StandardController sc = new ApexPages.StandardController(testassetpart);
AssetParts ap = new AssetParts(sc);---------->test class error
ap.save();
}
}
Please help me from this..
I'm having error like this.. so I'm not getting any code coverage..
Class.AssetParts.<init>: line 10, column 1
Class.AssetPartsTestClass.AssetPartsTestClass: line 26, column 1
Apex Class:
public with sharing class AssetParts {
public Asset_Part__c astpart;
public Physical_Asset__c asset{get;set;}
public string assetname;
public AssetParts(ApexPages.StandardController con)
{
astpart=(Asset_Part__c)con.getRecord();
String astname = ApexPages.currentPage().getParameters().get('retURL');
string[] strsplit = astname.split('/');
assetname = strsplit[1];---------------> here class error
asset= new Physical_Asset__c();
}
public String errmsg{get;set;}
public PageReference Save()
{
astpart.Asset_Name__c =assetname;
insert astpart;
PageReference ref= new PageReference('/'+assetname);
ref.setredirect(true);
return ref;
}
}
My test class is:
@isTest
public class AssetPartsTestClass
{
static TestMethod void AssetPartsTestClass()
{
PageReference ref = Page.AssetParts;
Test.setcurrentPage(ref);
Account testAccount = new Account(Name='Test Company Name');
insert testAccount;
Physical_Asset__c phy = new Physical_Asset__c(Name='Physical Asset Name',Vendor_Account__c=testAccount.id);
insert phy;
Asset_Part__c testassetpart = new Asset_Part__c(Name='Test Assetpart Name',Vendor_Account__c=testAccount.id,Asset_Name__c =phy.id);
insert testassetpart;
ApexPages.currentPage().getParameters().put('assetname',phy.id);
ApexPages.StandardController sc = new ApexPages.StandardController(testassetpart);
AssetParts ap = new AssetParts(sc);---------->test class error
ap.save();
}
}
Please help me from this..
Try changing the following highlighted line,
@isTest
public class AssetPartsTestClass
{
static TestMethod void AssetPartsTestClass()
{
PageReference ref = Page.AssetParts;
Test.setcurrentPage(ref);
Account testAccount = new Account(Name='Test Company Name');
insert testAccount;
Physical_Asset__c phy = new Physical_Asset__c(Name='Physical Asset Name',Vendor_Account__c=testAccount.id);
insert phy;
Asset_Part__c testassetpart = new Asset_Part__c(Name='Test Assetpart Name',Vendor_Account__c=testAccount.id,Asset_Name__c =phy.id);
insert testassetpart;
ApexPages.currentPage().getParameters().put('retURL','apex/'+testassetpart.Asset_Name__c);
ApexPages.StandardController sc = new ApexPages.StandardController(testassetpart);
AssetParts ap = new AssetParts(sc);
ap.save();
}
}
Hope this helps you...!
Regards,
Kamatchi Devi R
Salesforce Certified Developer | Salesforce Certified Administrator
All Answers
Hi,
Can you mention what error is returned in running this test class?
Regards,
Kamatchi Devi R
Salesforce Certified Developer | Salesforce Certified Administrator
Having Error like this
system.TypeException:Invalid Conversion from runtime type
SOBJECT:Physical_Asset__c to SOBJECT:Asset_Part__c
Please help me I stopped here to move further..
Thank you
Try changing the following highlighted line,
@isTest
public class AssetPartsTestClass
{
static TestMethod void AssetPartsTestClass()
{
PageReference ref = Page.AssetParts;
Test.setcurrentPage(ref);
Account testAccount = new Account(Name='Test Company Name');
insert testAccount;
Physical_Asset__c phy = new Physical_Asset__c(Name='Physical Asset Name',Vendor_Account__c=testAccount.id);
insert phy;
Asset_Part__c testassetpart = new Asset_Part__c(Name='Test Assetpart Name',Vendor_Account__c=testAccount.id,Asset_Name__c =phy.id);
insert testassetpart;
ApexPages.currentPage().getParameters().put('retURL','apex/'+testassetpart.Asset_Name__c);
ApexPages.StandardController sc = new ApexPages.StandardController(testassetpart);
AssetParts ap = new AssetParts(sc);
ap.save();
}
}
Hope this helps you...!
Regards,
Kamatchi Devi R
Salesforce Certified Developer | Salesforce Certified Administrator
Now I'm getting 76% coverage.
But that insert only not get covered(I mean that apex class save functionality insert).What i need to include in test class..