You need to sign in to do that
Don't have an account?
Himanshu Patel 55
Test class Failed: List has no rows for assignment to SObject
Hello Everyone,
My test class is failing and I can't figure out why. Any assistance is greatly appreciated.
This is the error message:
System.QueryException: List has no rows for assignment to SObject
Method 1: System.QueryException: List has no rows for assignment to SObject
Stack Trace: Class.portalRequestControllerTests.AAAAAAAAAAAAAAAtestInsert: line 126, column 1
Method 2: System.QueryException: List has no rows for assignment to SObject
Stack Trace: Class.portalRequestControllerTests.testInsertContactNotMatched: line 155, column 1
Method 3: System.QueryException: List has no rows for assignment to SObject
Stack Trace: Class.portalRequestControllerTests.testMisMatchedAccount: line 184, column 1
Method 4: System.AssertException: Assertion Failed: Same value: null
Stack Trace: Class.portalRequestControllerTests.testVeterinarianSchool: line 24, column 1
Method 5: System.AssertException: Assertion Failed: Same value: null
Stack Trace: Class.portalRequestControllerTests.test_method_one: line 46, column 1
This is the test class as a whole:
@isTest
private class portalRequestControllerTests {
@isTest static void testVeterinarianSchool() {
portalRequestController ctlr = new portalRequestController(new ApexPages.StandardController(new Portal_Request__c() ));
RecordType rt = [select Id from RecordType where SObjectType = 'Account' and Name = 'Veterinarian School'];
Account a = new Account(Name='Test Account', RecordTypeId = rt.Id, Active__c = true, Account_Classification__c = 'School');
insert a;
List<Account> searchList = portalRequestController.lookupAccount('Test Account');
System.assertEquals(searchList.size(), 1);
ctlr.pr.First_Name__c = 'Joe';
ctlr.pr.Last_Name__c = 'Test';
ctlr.pr.Email_Address__c = 'test@mailinator.com';
ctlr.clinicId = portalRequestController.lookupAccount('Test Account')[0].Id;
ctlr.pr.Clinic_Phone_Number__c = '416 555 5555';
ctlr.pr.Title__c = 'Tester';
ctlr.lang = ctlr.getLanguageOptions()[0].getValue();
ctlr.createRequest();
System.assertNotEquals(ctlr.pr.Id, null);
}
@isTest static void test_method_one() {
portalRequestController ctlr = new portalRequestController(new ApexPages.StandardController(new Portal_Request__c() ));
Account a = new Account(Name='Test Account', RecordTypeId = slimfitUtils.getClinicAccountRecordType().Id, Active__c = true, Account_Classification__c = 'School');
insert a;
ctlr.createRequest();
ctlr.pr.First_Name__c = 'Joe';
ctlr.pr.Last_Name__c = 'Test';
ctlr.pr.Email_Address__c = 'test@mailinator.com';
ctlr.clinicId = portalRequestController.lookupAccount('Test Account')[0].Id;
ctlr.pr.Clinic_Phone_Number__c = '416 555 5555';
ctlr.pr.Title__c = 'Tester';
ctlr.lang = ctlr.getLanguageOptions()[0].getValue();
ctlr.createRequest();
System.assertNotEquals(ctlr.pr.Id, null);
}
@isTest static void test_rejection() {
portalRequestController ctlr = new portalRequestController(new ApexPages.StandardController(new Portal_Request__c() ));
ctlr.createRequest();
ctlr.pr.First_Name__c = 'Joe';
ctlr.pr.Last_Name__c = 'Test';
ctlr.pr.Email_Address__c = 'test@mailinator.com';
ctlr.pr.Clinic_Phone_Number__c = '416 555 5555';
ctlr.pr.Title__c = 'Tester';
ctlr.createRequest();
System.assertEquals(ctlr.pr.Id, null);
}
@isTest static void testExistingPortalRequest() {
Account a = new Account(Name='Test Account');
insert a;
Portal_Request__c portalReqObj1 = new Portal_Request__c ();
portalReqObj1.First_Name__c = 'TestFirstName1';
portalReqObj1.Last_Name__c = 'TestLastName';
portalReqObj1.Status__c = 'New';
portalReqObj1.Clinic__c = a.id;
portalReqObj1.Email_Address__c = 'TestMail@testing.com';
insert portalReqObj1;
portalRequestController ctlr = new portalRequestController(new ApexPages.StandardController(new Portal_Request__c() ));
ctlr.pr.First_Name__c = 'Joe';
ctlr.pr.Last_Name__c = 'Test';
ctlr.pr.Email_Address__c = portalReqObj1.Email_Address__c;
ctlr.pr.Clinic_Phone_Number__c = '416 555 5555';
ctlr.pr.Title__c = 'Tester';
ctlr.createRequest();
System.assertEquals(ctlr.pr.Id, null);
}
static testMethod void AAAAAAAAAAAAAAAtestInsert() {
// prod
ExactTarget_Settings__c settings = new ExactTarget_Settings__c(
accessToken__c='bg5ccutef4qqcdxkjk63bd2u',
accessToken_Expiration_Date__c = Datetime.now().addYears(1),
TriggeredSendEmail_Endpoint__c = 'https://www-exacttargetapis-com-nhz9abyp4su1.runscope.net/messaging/v1/messageDefinitionSends/key:%7B0%7D/send?access_token={1}',
requestToken_EndPoint__c = 'https://auth.exacttargetapis.com/v1/requestToken',
clientSecret__c = 'k6fs4dkvJr6XC3Uzw4yxVrYT',
clientId__c = 'xdf5ehwugdv5afpybxrda9uq'
);
// dev
//TMSSettings__c settings = new TMSSettings__c(Blocked_Off_Record_Type_ID__c=blackoutRecordTypeId, Shipment_Record_Type_ID__c=shipmentRecordTypeId, Carrier_New_Ship_Email_Template_ID__c='00XW0000000I8juMAC', Carrier_Profile_ID__c='00eW0000000QMpFIAW', Carrier_Updated_Ship_Email_Template_ID__c='00XW0000000I8jpMAC', From_Email_Notification_ID__c='0D250000000TN1PCAW', Portal_Domain_Name__c=' royalcanincanada.force.com', TMS_RC_Notification_Group_ID__c='00G50000001jledEAA', Warehouse_Address__c='Any street, Toronto', Warehouse_Phone__c='9056667890', Warehouse_Profile_ID__c='01IW0000000D4fx' , POD_Logistics_Email_Template_ID__c='00XW0000000I9xxMAC', POD_Carrier_Email_Template_ID__c='00XW0000000I9xsMAC');
insert settings;
Account a = new Account(Name='Test Account');
insert a;
Account a1 = [select Id, OwnerId from Account where Id = :a.Id];
Contact c = new Contact(FirstName = 'first', LastName = 'last', Email = 'test@me.com', AccountId = a.Id, RecordTypeId = slimfitUtils.getClinicVetRecordType().Id, Vet_Portal_Welcome_Sent__c = true);
insert c;
portalRequestController ctlr = new portalRequestController(new ApexPages.StandardController(new Portal_Request__c() ));
ctlr.pr.First_Name__c = 'Arthur';
ctlr.pr.Last_Name__c = c.LastName;
ctlr.pr.Email_Address__c = c.Email;
ctlr.ClinicId = a.Id;
ctlr.pr.Clinic_Phone_Number__c = '416 555 5555';
ctlr.pr.Title__c = 'Tester';
ctlr.lang = 'en_US';
ctlr.pr.Email_Opt_In__c = true;
ctlr.createRequest();
Portal_Request__c pr = [select Id, Status__c, Clinic__c from Portal_Request__c where Id = :ctlr.pr.Id];
//System.assertEquals(pr.Status__c, 'Approved');
System.assertEquals(pr.Clinic__c, a.Id);
Contact cCheck = [select Id, FirstName, Vet_Express_Consent__c from Contact where Id = :c.Id];
System.assertEquals(cCheck.FirstName, ctlr.pr.First_Name__c);
System.assertEquals(cCheck.Vet_Express_Consent__c, true);
}
static testMethod void testInsertContactNotMatched() {
Account a = new Account(Name='Test Account');
insert a;
Account a1 = [select Id, OwnerId from Account where Id = :a.Id];
Contact c = new Contact(FirstName = 'first', LastName = 'last', Email = 'test@me.com', AccountId = a.Id);
insert c;
portalRequestController ctlr = new portalRequestController(new ApexPages.StandardController(new Portal_Request__c() ));
ctlr.pr.First_Name__c = 'Arthur';
ctlr.pr.Last_Name__c = c.LastName;
ctlr.pr.Email_Address__c = c.Email;
ctlr.ClinicId = a.Id;
ctlr.pr.Clinic_Phone_Number__c = '416 555 5555';
ctlr.pr.Title__c = 'Tester';
ctlr.lang = 'en_US';
ctlr.pr.Email_Opt_In__c = true;
ctlr.createRequest();
Portal_Request__c pr = [select Id, Status__c, Contact__c, Clinic__c from Portal_Request__c where Id = :ctlr.pr.Id];
System.assertEquals(pr.Contact__c, null);
System.assertEquals(pr.Clinic__c, a.Id);
Contact cCheck = [select Id, FirstName, Vet_Express_Consent__c from Contact where Id = :c.Id];
System.assertNotEquals(cCheck.FirstName, ctlr.pr.First_Name__c);
System.assertNotEquals(cCheck.Vet_Express_Consent__c, true);
}
static testMethod void testMisMatchedAccount() {
Account a = new Account(Name='Test Account');
Account b = new Account(Name='B Account');
insert new List<Account> { a, b };
Contact c = new Contact(FirstName = 'first', LastName = 'last', Email = 'test@me.com', AccountId = b.Id);
insert c;
portalRequestController ctlr = new portalRequestController(new ApexPages.StandardController(new Portal_Request__c() ));
ctlr.pr.First_Name__c = 'Arthur';
ctlr.pr.Last_Name__c = c.LastName;
ctlr.pr.Email_Address__c = c.Email;
ctlr.ClinicId = a.Id;
ctlr.pr.Clinic_Phone_Number__c = '416 555 5555';
ctlr.pr.Title__c = 'Tester';
ctlr.lang = 'en_US';
ctlr.pr.Email_Opt_In__c = true;
ctlr.createRequest();
Portal_Request__c pr = [select Id, Status__c, Clinic__c from Portal_Request__c where Id = :ctlr.pr.Id];
//System.assertEquals(pr.Status__c, 'Approved');
System.assertEquals(pr.Clinic__c, a.Id);
System.assertNotEquals(pr.Status__c, 'Approved');
List<User> uList = [select Id from User where Email = :c.Email];
System.assertEquals(uList.size(), 0);
List<Account> searchList = portalRequestController.lookupAccount('Account');
System.assertEquals(searchList.size(), 0);
}}
I have highlighted error
My test class is failing and I can't figure out why. Any assistance is greatly appreciated.
This is the error message:
System.QueryException: List has no rows for assignment to SObject
Method 1: System.QueryException: List has no rows for assignment to SObject
Stack Trace: Class.portalRequestControllerTests.AAAAAAAAAAAAAAAtestInsert: line 126, column 1
Method 2: System.QueryException: List has no rows for assignment to SObject
Stack Trace: Class.portalRequestControllerTests.testInsertContactNotMatched: line 155, column 1
Method 3: System.QueryException: List has no rows for assignment to SObject
Stack Trace: Class.portalRequestControllerTests.testMisMatchedAccount: line 184, column 1
Method 4: System.AssertException: Assertion Failed: Same value: null
Stack Trace: Class.portalRequestControllerTests.testVeterinarianSchool: line 24, column 1
Method 5: System.AssertException: Assertion Failed: Same value: null
Stack Trace: Class.portalRequestControllerTests.test_method_one: line 46, column 1
This is the test class as a whole:
@isTest
private class portalRequestControllerTests {
@isTest static void testVeterinarianSchool() {
portalRequestController ctlr = new portalRequestController(new ApexPages.StandardController(new Portal_Request__c() ));
RecordType rt = [select Id from RecordType where SObjectType = 'Account' and Name = 'Veterinarian School'];
Account a = new Account(Name='Test Account', RecordTypeId = rt.Id, Active__c = true, Account_Classification__c = 'School');
insert a;
List<Account> searchList = portalRequestController.lookupAccount('Test Account');
System.assertEquals(searchList.size(), 1);
ctlr.pr.First_Name__c = 'Joe';
ctlr.pr.Last_Name__c = 'Test';
ctlr.pr.Email_Address__c = 'test@mailinator.com';
ctlr.clinicId = portalRequestController.lookupAccount('Test Account')[0].Id;
ctlr.pr.Clinic_Phone_Number__c = '416 555 5555';
ctlr.pr.Title__c = 'Tester';
ctlr.lang = ctlr.getLanguageOptions()[0].getValue();
ctlr.createRequest();
System.assertNotEquals(ctlr.pr.Id, null);
}
@isTest static void test_method_one() {
portalRequestController ctlr = new portalRequestController(new ApexPages.StandardController(new Portal_Request__c() ));
Account a = new Account(Name='Test Account', RecordTypeId = slimfitUtils.getClinicAccountRecordType().Id, Active__c = true, Account_Classification__c = 'School');
insert a;
ctlr.createRequest();
ctlr.pr.First_Name__c = 'Joe';
ctlr.pr.Last_Name__c = 'Test';
ctlr.pr.Email_Address__c = 'test@mailinator.com';
ctlr.clinicId = portalRequestController.lookupAccount('Test Account')[0].Id;
ctlr.pr.Clinic_Phone_Number__c = '416 555 5555';
ctlr.pr.Title__c = 'Tester';
ctlr.lang = ctlr.getLanguageOptions()[0].getValue();
ctlr.createRequest();
System.assertNotEquals(ctlr.pr.Id, null);
}
@isTest static void test_rejection() {
portalRequestController ctlr = new portalRequestController(new ApexPages.StandardController(new Portal_Request__c() ));
ctlr.createRequest();
ctlr.pr.First_Name__c = 'Joe';
ctlr.pr.Last_Name__c = 'Test';
ctlr.pr.Email_Address__c = 'test@mailinator.com';
ctlr.pr.Clinic_Phone_Number__c = '416 555 5555';
ctlr.pr.Title__c = 'Tester';
ctlr.createRequest();
System.assertEquals(ctlr.pr.Id, null);
}
@isTest static void testExistingPortalRequest() {
Account a = new Account(Name='Test Account');
insert a;
Portal_Request__c portalReqObj1 = new Portal_Request__c ();
portalReqObj1.First_Name__c = 'TestFirstName1';
portalReqObj1.Last_Name__c = 'TestLastName';
portalReqObj1.Status__c = 'New';
portalReqObj1.Clinic__c = a.id;
portalReqObj1.Email_Address__c = 'TestMail@testing.com';
insert portalReqObj1;
portalRequestController ctlr = new portalRequestController(new ApexPages.StandardController(new Portal_Request__c() ));
ctlr.pr.First_Name__c = 'Joe';
ctlr.pr.Last_Name__c = 'Test';
ctlr.pr.Email_Address__c = portalReqObj1.Email_Address__c;
ctlr.pr.Clinic_Phone_Number__c = '416 555 5555';
ctlr.pr.Title__c = 'Tester';
ctlr.createRequest();
System.assertEquals(ctlr.pr.Id, null);
}
static testMethod void AAAAAAAAAAAAAAAtestInsert() {
// prod
ExactTarget_Settings__c settings = new ExactTarget_Settings__c(
accessToken__c='bg5ccutef4qqcdxkjk63bd2u',
accessToken_Expiration_Date__c = Datetime.now().addYears(1),
TriggeredSendEmail_Endpoint__c = 'https://www-exacttargetapis-com-nhz9abyp4su1.runscope.net/messaging/v1/messageDefinitionSends/key:%7B0%7D/send?access_token={1}',
requestToken_EndPoint__c = 'https://auth.exacttargetapis.com/v1/requestToken',
clientSecret__c = 'k6fs4dkvJr6XC3Uzw4yxVrYT',
clientId__c = 'xdf5ehwugdv5afpybxrda9uq'
);
// dev
//TMSSettings__c settings = new TMSSettings__c(Blocked_Off_Record_Type_ID__c=blackoutRecordTypeId, Shipment_Record_Type_ID__c=shipmentRecordTypeId, Carrier_New_Ship_Email_Template_ID__c='00XW0000000I8juMAC', Carrier_Profile_ID__c='00eW0000000QMpFIAW', Carrier_Updated_Ship_Email_Template_ID__c='00XW0000000I8jpMAC', From_Email_Notification_ID__c='0D250000000TN1PCAW', Portal_Domain_Name__c=' royalcanincanada.force.com', TMS_RC_Notification_Group_ID__c='00G50000001jledEAA', Warehouse_Address__c='Any street, Toronto', Warehouse_Phone__c='9056667890', Warehouse_Profile_ID__c='01IW0000000D4fx' , POD_Logistics_Email_Template_ID__c='00XW0000000I9xxMAC', POD_Carrier_Email_Template_ID__c='00XW0000000I9xsMAC');
insert settings;
Account a = new Account(Name='Test Account');
insert a;
Account a1 = [select Id, OwnerId from Account where Id = :a.Id];
Contact c = new Contact(FirstName = 'first', LastName = 'last', Email = 'test@me.com', AccountId = a.Id, RecordTypeId = slimfitUtils.getClinicVetRecordType().Id, Vet_Portal_Welcome_Sent__c = true);
insert c;
portalRequestController ctlr = new portalRequestController(new ApexPages.StandardController(new Portal_Request__c() ));
ctlr.pr.First_Name__c = 'Arthur';
ctlr.pr.Last_Name__c = c.LastName;
ctlr.pr.Email_Address__c = c.Email;
ctlr.ClinicId = a.Id;
ctlr.pr.Clinic_Phone_Number__c = '416 555 5555';
ctlr.pr.Title__c = 'Tester';
ctlr.lang = 'en_US';
ctlr.pr.Email_Opt_In__c = true;
ctlr.createRequest();
Portal_Request__c pr = [select Id, Status__c, Clinic__c from Portal_Request__c where Id = :ctlr.pr.Id];
//System.assertEquals(pr.Status__c, 'Approved');
System.assertEquals(pr.Clinic__c, a.Id);
Contact cCheck = [select Id, FirstName, Vet_Express_Consent__c from Contact where Id = :c.Id];
System.assertEquals(cCheck.FirstName, ctlr.pr.First_Name__c);
System.assertEquals(cCheck.Vet_Express_Consent__c, true);
}
static testMethod void testInsertContactNotMatched() {
Account a = new Account(Name='Test Account');
insert a;
Account a1 = [select Id, OwnerId from Account where Id = :a.Id];
Contact c = new Contact(FirstName = 'first', LastName = 'last', Email = 'test@me.com', AccountId = a.Id);
insert c;
portalRequestController ctlr = new portalRequestController(new ApexPages.StandardController(new Portal_Request__c() ));
ctlr.pr.First_Name__c = 'Arthur';
ctlr.pr.Last_Name__c = c.LastName;
ctlr.pr.Email_Address__c = c.Email;
ctlr.ClinicId = a.Id;
ctlr.pr.Clinic_Phone_Number__c = '416 555 5555';
ctlr.pr.Title__c = 'Tester';
ctlr.lang = 'en_US';
ctlr.pr.Email_Opt_In__c = true;
ctlr.createRequest();
Portal_Request__c pr = [select Id, Status__c, Contact__c, Clinic__c from Portal_Request__c where Id = :ctlr.pr.Id];
System.assertEquals(pr.Contact__c, null);
System.assertEquals(pr.Clinic__c, a.Id);
Contact cCheck = [select Id, FirstName, Vet_Express_Consent__c from Contact where Id = :c.Id];
System.assertNotEquals(cCheck.FirstName, ctlr.pr.First_Name__c);
System.assertNotEquals(cCheck.Vet_Express_Consent__c, true);
}
static testMethod void testMisMatchedAccount() {
Account a = new Account(Name='Test Account');
Account b = new Account(Name='B Account');
insert new List<Account> { a, b };
Contact c = new Contact(FirstName = 'first', LastName = 'last', Email = 'test@me.com', AccountId = b.Id);
insert c;
portalRequestController ctlr = new portalRequestController(new ApexPages.StandardController(new Portal_Request__c() ));
ctlr.pr.First_Name__c = 'Arthur';
ctlr.pr.Last_Name__c = c.LastName;
ctlr.pr.Email_Address__c = c.Email;
ctlr.ClinicId = a.Id;
ctlr.pr.Clinic_Phone_Number__c = '416 555 5555';
ctlr.pr.Title__c = 'Tester';
ctlr.lang = 'en_US';
ctlr.pr.Email_Opt_In__c = true;
ctlr.createRequest();
Portal_Request__c pr = [select Id, Status__c, Clinic__c from Portal_Request__c where Id = :ctlr.pr.Id];
//System.assertEquals(pr.Status__c, 'Approved');
System.assertEquals(pr.Clinic__c, a.Id);
System.assertNotEquals(pr.Status__c, 'Approved');
List<User> uList = [select Id from User where Email = :c.Email];
System.assertEquals(uList.size(), 0);
List<Account> searchList = portalRequestController.lookupAccount('Account');
System.assertEquals(searchList.size(), 0);
}}
I have highlighted error
You can enable the logs and see what's the issue in createRequest. Or post your findings so that someone can help you.