You need to sign in to do that
Don't have an account?
sunny sengar 17
Since there's only one test method, instead of passing params to this, can we make this a proper @testsetup method? Please anyone can help ?
@IsTest
public class UpdateSolutionEngineeringOpportunityTest extends BaseApexUT {
public static Long randomNumber = Math.mod(Math.mod(System.currentTimeMillis(), 1000000), 989898989);
private static final String AMEX_MERCHANT_ID = '0000000000';
private static final String OPPORTUNITY_NAME = TestDataGeneratorUtil.getNameWithTimeStamp('Opportunity');
private static final String OPPORTUNITY_TYPE_NEW_BUSINESS = 'New Business';
private static final String OPPORTUNITY_STAGE_1 = '1. Discovery Scheduled';
private static final List <SObjectField> accountSelectFields = new List <SObjectField> {
Account.Id,
Account.Name,
Account.Amex_Integration_Type__c,
Account.Amex_Integration_Detail__c
};
private static final List <SObjectField> opportunitySelectFields = new List <SObjectField> {
Opportunity.Estimated_Annual_Amex_Volume_by_Tax_ID__c,
Opportunity.AMEX_Rate__c,
Opportunity.Pricing_Model__c,
Opportunity.Name
};
private static Account accountMock;
private static Opportunity opportunityMock;
private static Opportunity opportunityInsertMock;
private static Sales_Engineering_Activity__c solutionsEngineeringMock;
private static User mockUser;
private static void setupTestData(String opportunityStageToSet, String amexIntegrationType, String amexMerchantId, String amexDetail) {
mockUser = createRunAsUser('mockAdmin@example.com', 'mockBizOps@example.com');
System.runAs(mockUser) {
accountMock = new TestDataGeneratorUtil.TestAccount()
.withOnboardingCompleteDate(Date.today() + 1)
.withAmexIntegrationDetail(amexDetail)
.withAmexIntergrationInfo(amexIntegrationType)
.buildAndSave();
opportunityInsertMock = new Opportunity();
opportunityMock = new TestDataGeneratorUtil.TestOpportunity(OPPORTUNITY_NAME, accountMock.Id)
.withType(OPPORTUNITY_TYPE_NEW_BUSINESS)
.withStageName(opportunityStageToSet)
.withCloseDate(Date.today() + 1)
.buildAndSave();
Id solutionsEngineeringRecordTypeId = Schema.SObjectType.Sales_Engineering_Activity__c.getRecordTypeInfosByDeveloperName().get('Sales_Engineering_Activity_DDR').getRecordTypeId();
solutionsEngineeringMock = new Sales_Engineering_Activity__c();
solutionsEngineeringMock.RecordTypeId = solutionsEngineeringRecordTypeId;
solutionsEngineeringMock.Opportunity_Name__c = opportunityMock.Id;
solutionsEngineeringMock.Name = 'Test';
solutionsEngineeringMock.SE_Activity_Type__c = 'Deal Desk Review';
solutionsEngineeringMock.SE_Activity_Status__c = 'Activity Scheduled';
solutionsEngineeringMock.Activity_Notes__c = 'test Sales_Engineering_Activity Activity_Notes';
solutionsEngineeringMock.Sales_Engineer_Assigned__c = mockUser.Id;
solutionsEngineeringMock.Status_of_the_Deal__c = 'Discovery (has not seen Toast)';
solutionsEngineeringMock.Stage__c = '3: Deal Desk Review';
insert solutionsEngineeringMock;
System.assertEquals('Deal Desk Review', solutionsEngineeringMock.SE_Activity_Type__c, 'Solution Engineering type does not match');
}
}
public static User createRunAsUser(String EmailID, String UserName) {
/** Grab profile */
UserRole role = [SELECT Id FROM UserRole WHERE Name = 'Sales Engineer'];
Profile adminProfile = [SELECT Id FROM Profile WHERE Name = 'System Administrator'];
User adminUser = new User(Alias = 'mockUser',
Email = randomNumber + emailId,
EmailEncodingKey = 'UTF-8',
LastName = 'mockADMIN',
LanguageLocaleKey = 'en_US',
LocaleSidKey = 'en_US',
ProfileId = adminProfile.Id,
TimeZoneSidKey = 'America/New_York',
UserName = randomNumber + userName,
UserRoleId = role.Id);
insert adminUser;
return adminUser;
}
@IsTest
private static void solutionEngineerAssignment() {
Test.startTest();
setupTestData(OPPORTUNITY_STAGE_1, null, AMEX_MERCHANT_ID, null);
User usr = createRunAsUser('mockAdmin12@example.com', 'mockBizOps123@example.com');
System.runAs(usr) {
solutionsEngineeringMock.Sales_Engineer_Assigned__c = usr.Id;
update solutionsEngineeringMock;
}
System.assertEquals('mockADMIN', usr.LastName, 'User Last name does not Match');
Test.stopTest();
}
}
public class UpdateSolutionEngineeringOpportunityTest extends BaseApexUT {
public static Long randomNumber = Math.mod(Math.mod(System.currentTimeMillis(), 1000000), 989898989);
private static final String AMEX_MERCHANT_ID = '0000000000';
private static final String OPPORTUNITY_NAME = TestDataGeneratorUtil.getNameWithTimeStamp('Opportunity');
private static final String OPPORTUNITY_TYPE_NEW_BUSINESS = 'New Business';
private static final String OPPORTUNITY_STAGE_1 = '1. Discovery Scheduled';
private static final List <SObjectField> accountSelectFields = new List <SObjectField> {
Account.Id,
Account.Name,
Account.Amex_Integration_Type__c,
Account.Amex_Integration_Detail__c
};
private static final List <SObjectField> opportunitySelectFields = new List <SObjectField> {
Opportunity.Estimated_Annual_Amex_Volume_by_Tax_ID__c,
Opportunity.AMEX_Rate__c,
Opportunity.Pricing_Model__c,
Opportunity.Name
};
private static Account accountMock;
private static Opportunity opportunityMock;
private static Opportunity opportunityInsertMock;
private static Sales_Engineering_Activity__c solutionsEngineeringMock;
private static User mockUser;
private static void setupTestData(String opportunityStageToSet, String amexIntegrationType, String amexMerchantId, String amexDetail) {
mockUser = createRunAsUser('mockAdmin@example.com', 'mockBizOps@example.com');
System.runAs(mockUser) {
accountMock = new TestDataGeneratorUtil.TestAccount()
.withOnboardingCompleteDate(Date.today() + 1)
.withAmexIntegrationDetail(amexDetail)
.withAmexIntergrationInfo(amexIntegrationType)
.buildAndSave();
opportunityInsertMock = new Opportunity();
opportunityMock = new TestDataGeneratorUtil.TestOpportunity(OPPORTUNITY_NAME, accountMock.Id)
.withType(OPPORTUNITY_TYPE_NEW_BUSINESS)
.withStageName(opportunityStageToSet)
.withCloseDate(Date.today() + 1)
.buildAndSave();
Id solutionsEngineeringRecordTypeId = Schema.SObjectType.Sales_Engineering_Activity__c.getRecordTypeInfosByDeveloperName().get('Sales_Engineering_Activity_DDR').getRecordTypeId();
solutionsEngineeringMock = new Sales_Engineering_Activity__c();
solutionsEngineeringMock.RecordTypeId = solutionsEngineeringRecordTypeId;
solutionsEngineeringMock.Opportunity_Name__c = opportunityMock.Id;
solutionsEngineeringMock.Name = 'Test';
solutionsEngineeringMock.SE_Activity_Type__c = 'Deal Desk Review';
solutionsEngineeringMock.SE_Activity_Status__c = 'Activity Scheduled';
solutionsEngineeringMock.Activity_Notes__c = 'test Sales_Engineering_Activity Activity_Notes';
solutionsEngineeringMock.Sales_Engineer_Assigned__c = mockUser.Id;
solutionsEngineeringMock.Status_of_the_Deal__c = 'Discovery (has not seen Toast)';
solutionsEngineeringMock.Stage__c = '3: Deal Desk Review';
insert solutionsEngineeringMock;
System.assertEquals('Deal Desk Review', solutionsEngineeringMock.SE_Activity_Type__c, 'Solution Engineering type does not match');
}
}
public static User createRunAsUser(String EmailID, String UserName) {
/** Grab profile */
UserRole role = [SELECT Id FROM UserRole WHERE Name = 'Sales Engineer'];
Profile adminProfile = [SELECT Id FROM Profile WHERE Name = 'System Administrator'];
User adminUser = new User(Alias = 'mockUser',
Email = randomNumber + emailId,
EmailEncodingKey = 'UTF-8',
LastName = 'mockADMIN',
LanguageLocaleKey = 'en_US',
LocaleSidKey = 'en_US',
ProfileId = adminProfile.Id,
TimeZoneSidKey = 'America/New_York',
UserName = randomNumber + userName,
UserRoleId = role.Id);
insert adminUser;
return adminUser;
}
@IsTest
private static void solutionEngineerAssignment() {
Test.startTest();
setupTestData(OPPORTUNITY_STAGE_1, null, AMEX_MERCHANT_ID, null);
User usr = createRunAsUser('mockAdmin12@example.com', 'mockBizOps123@example.com');
System.runAs(usr) {
solutionsEngineeringMock.Sales_Engineer_Assigned__c = usr.Id;
update solutionsEngineeringMock;
}
System.assertEquals('mockADMIN', usr.LastName, 'User Last name does not Match');
Test.stopTest();
}
}