You need to sign in to do that
Don't have an account?
Prallavi Dua
Test Class for Multiselect Picklist in Salesforce
Hi,
Below Code is the VF page and Controller for MultiSelect Picklist and also the test Class, But the code Coverage is 89%.
Can anyone please help me for 100% code coverage.
<apex:page controller="MultiSelectController">
<style>
.box{
width :100px;
length : 100px;
}
</style>
<apex:form >
<apex:panelGrid id="one" columns="3">
<apex:selectList multiselect="true" styleClass="checkbox" value="{!added}">
<apex:selectOptions value="{!selected}"></apex:selectOptions>
</apex:selectList>
<apex:panelGrid columns="1">
<apex:commandButton action="{!addcities}" value="ADD" reRender="one"/>
<apex:commandButton action="{!delcities}" value="DEL" reRender="one"/>
</apex:panelGrid>
<apex:selectList multiselect="true" styleClass="check" value="{!deleted}">
<apex:selectOptions value="{!unSelected}"></apex:selectOptions>
</apex:selectList>
</apex:panelGrid>
</apex:form>
</apex:page>
-----------------------------------------------------
public class MultiSelectController {
public List<String> added{get;set;}
public List<String> deleted{get;set;}
public List<SelectOption> selected{get;set;}
public List<SelectOption> unSelected{get;set;}
public Set<String> sel{get;set;}
public set<String> unsel{get;set;}
public MultiSelectController(){
added = new List<string>();
deleted = new List<String>();
sel = new Set<string>();
unsel= new Set<String>();
selected = new List<SelectOption>();
unSelected = new List<selectOption>();
List<String> cities = new List<String>{'HYD','Bang','Delhi','Pune','Mumbai'};
unsel.addAll(cities);
getData();
}
public void getData(){
selected.clear();
unSelected.clear();
SelectOption op1 = new SelectOption('none','-None-');
if(unsel.size()>0){
for(String s1 : unsel){
SelectOption op = new SelectOption(s1,s1);
selected.add(op);
}
}
else{
Selected.add(op1);
}
if(sel.size()>0){
for(String s2:sel){
selectOption op2 = new Selectoption(s2,s2);
unSelected.add(op2);
}
}
else{
unselected.add(op1);
}
}
public void addcities(){
unsel.removeAll(added);
sel.addAll(added);
added.clear();
getData();
}
public void delcities(){
sel.removeAll(deleted);
unsel.addAll(deleted);
getData();
}
}
----------------------------------------
@isTest
public class MiltiSelectTest {
public static testMethod void TestController(){
PageReference pagref = Page.MiltiSelect;
Test.setCurrentPageReference(pagref);
test.startTest();
MultiSelectController MSP = new MultiSelectController();
//MSP.addcities()
MSP.addcities();
MSP.delcities();
MSP.getData();
//MSP.unsel;
test.stopTest();
}
}
Below Code is the VF page and Controller for MultiSelect Picklist and also the test Class, But the code Coverage is 89%.
Can anyone please help me for 100% code coverage.
<apex:page controller="MultiSelectController">
<style>
.box{
width :100px;
length : 100px;
}
</style>
<apex:form >
<apex:panelGrid id="one" columns="3">
<apex:selectList multiselect="true" styleClass="checkbox" value="{!added}">
<apex:selectOptions value="{!selected}"></apex:selectOptions>
</apex:selectList>
<apex:panelGrid columns="1">
<apex:commandButton action="{!addcities}" value="ADD" reRender="one"/>
<apex:commandButton action="{!delcities}" value="DEL" reRender="one"/>
</apex:panelGrid>
<apex:selectList multiselect="true" styleClass="check" value="{!deleted}">
<apex:selectOptions value="{!unSelected}"></apex:selectOptions>
</apex:selectList>
</apex:panelGrid>
</apex:form>
</apex:page>
-----------------------------------------------------
public class MultiSelectController {
public List<String> added{get;set;}
public List<String> deleted{get;set;}
public List<SelectOption> selected{get;set;}
public List<SelectOption> unSelected{get;set;}
public Set<String> sel{get;set;}
public set<String> unsel{get;set;}
public MultiSelectController(){
added = new List<string>();
deleted = new List<String>();
sel = new Set<string>();
unsel= new Set<String>();
selected = new List<SelectOption>();
unSelected = new List<selectOption>();
List<String> cities = new List<String>{'HYD','Bang','Delhi','Pune','Mumbai'};
unsel.addAll(cities);
getData();
}
public void getData(){
selected.clear();
unSelected.clear();
SelectOption op1 = new SelectOption('none','-None-');
if(unsel.size()>0){
for(String s1 : unsel){
SelectOption op = new SelectOption(s1,s1);
selected.add(op);
}
}
else{
Selected.add(op1);
}
if(sel.size()>0){
for(String s2:sel){
selectOption op2 = new Selectoption(s2,s2);
unSelected.add(op2);
}
}
else{
unselected.add(op1);
}
}
public void addcities(){
unsel.removeAll(added);
sel.addAll(added);
added.clear();
getData();
}
public void delcities(){
sel.removeAll(deleted);
unsel.addAll(deleted);
getData();
}
}
----------------------------------------
@isTest
public class MiltiSelectTest {
public static testMethod void TestController(){
PageReference pagref = Page.MiltiSelect;
Test.setCurrentPageReference(pagref);
test.startTest();
MultiSelectController MSP = new MultiSelectController();
//MSP.addcities()
MSP.addcities();
MSP.delcities();
MSP.getData();
//MSP.unsel;
test.stopTest();
}
}
Please try the given code
Regards,
Akshay