You need to sign in to do that
Don't have an account?
K@S
update task status trigger test class
Hi Team,
how to write test class for this trigger,please help on this
trigger updateStatusTrigger on Task (after insert,after update) {
List<Opportunity> oppLst = new List<Opportunity>();
Set<Id> oppId = new Set<Id>();
for(Task tObj:trigger.new){
oppId.add(tObj.WhatId);
}
Map<Id,Opportunity> oppMap =new Map<Id,Opportunity>([SELECT Id,StageName,CloseDate,Task_Status__c FROM Opportunity WHERE Id IN :oppId]);
for(Task t : Trigger.new){
if(Trigger.isInsert || (Trigger.isUpdate && (t.Status!= Trigger.oldMap.get(t.Id).Status))){
oppMap.get(t.whatId).Task_Status__c=t.Status;
}
database.update(oppMap.values(),false);
}
}
I wrote this like
test class
public class updatequotestatus_test
{
static testmethod void MyUnitTest()
{
// Create an Opportunity record
Opportunity opp = new Opportunity(Name='TestOpp',CloseDate=System.today(),StageName='Prospecting');
insert opp;
// Create an Task record to test your Trigger and relate it with the Quote created
Task t = new Task(Name='Test Task',Priority='Normal',whatId=q.id,Subject='Call',Status='Not Started');
insert t;
}
}
Thanks,
kae
how to write test class for this trigger,please help on this
trigger updateStatusTrigger on Task (after insert,after update) {
List<Opportunity> oppLst = new List<Opportunity>();
Set<Id> oppId = new Set<Id>();
for(Task tObj:trigger.new){
oppId.add(tObj.WhatId);
}
Map<Id,Opportunity> oppMap =new Map<Id,Opportunity>([SELECT Id,StageName,CloseDate,Task_Status__c FROM Opportunity WHERE Id IN :oppId]);
for(Task t : Trigger.new){
if(Trigger.isInsert || (Trigger.isUpdate && (t.Status!= Trigger.oldMap.get(t.Id).Status))){
oppMap.get(t.whatId).Task_Status__c=t.Status;
}
database.update(oppMap.values(),false);
}
}
I wrote this like
test class
public class updatequotestatus_test
{
static testmethod void MyUnitTest()
{
// Create an Opportunity record
Opportunity opp = new Opportunity(Name='TestOpp',CloseDate=System.today(),StageName='Prospecting');
insert opp;
// Create an Task record to test your Trigger and relate it with the Quote created
Task t = new Task(Name='Test Task',Priority='Normal',whatId=q.id,Subject='Call',Status='Not Started');
insert t;
}
}
Thanks,
kae
Try with below code it will help !!
Let me know if it helps !!
Thanks
Manoj
All Answers
Try following modified code. Create task on opportunity.
@isTest
public class updatequotestatus_test
{
static testmethod void MyUnitTest()
{
// Create an Opportunity record
Opportunity opp = new Opportunity(Name='TestOpp',CloseDate=System.today(),StageName='Prospecting');
insert opp;
// Create an Task record to test your Trigger and relate it with the Quote created
Task t = new Task(Name='Test Task',Priority='Normal',whatId=opp .id,Subject='Call',Status='Not Started');
insert t;
}
}
Thanks,
-Vivek
Try with below code it will help !!
Let me know if it helps !!
Thanks
Manoj
Name is not there in task ,I have removed the Name please check .
public class updatequotestatus_test
{
static testmethod void MyUnitTest()
{
Account acc= new Account();
acc.Name='TestName';
insert acc;
Opportunity opp = new Opportunity(Name='TestOpp',CloseDate=System.today(),StageName='Prospecting',accountId=acc.id);
insert opp;
// Create an Task record to test your Trigger and relate it with the Quote created
Task t = new Task(Priority='Normal',whatId=opp.id,Subject='Call',Status='Not Started');
insert t;
}
}
Please let us know if this will help u