• Aniruddha Kshirsagar
  • NEWBIE
  • 0 Points
  • Member since 2020

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 0
    Questions
  • 1
    Replies
@isTest(SeeAllData=true)
private class NumberOfAccountsRelatedToUserTest {
	
	@isTest static void test_method_one() {
		Integer num = 5;
		List<Account> accounts = createAccounts(num);
		List<Contact> contacts = createContacts(num, accounts);

		List<Account> accounts2 = createAccounts(num);
		List<Contact> contacts2 = createContacts(num, accounts2);

		User u  = createUser('myname', 'myname');
		User u2 = createUser('Test', 'Test');

		System.runAs(u){
			insert accounts;
			insert contacts;
		}

		System.runAs(u2){
			insert accounts2;
			insert contacts2;
		}

		Test.startTest();

			for(Account acc: accounts){
				acc.Account_Notes__c = 'Test Update';
				acc.SDR_Owner__c = u2.ID;
			}	

			update accounts;




		Test.stopTest();


	}


	public static User createUser(String username ,String theAlias){
		User u = new User(
			Alias = theAlias,
			Email = username + '@test.com',
			FirstName = 'Joe',
			LastName = username,
			TimeZoneSidKey = 'America/Los_Angeles',
			UserName = username + '@test.com',
			LocaleSidKey = 'en_US',
			EmailEncodingKey = 'UTF-8',
			LanguageLocaleKey = 'en_US'
			);

		u.profileID = userinfo.getProfileId();


		return u;
	}

	public static List<Account> createAccounts(Integer numOfAccounts){
		list<Account> accountsToInsert = new List<Account>();

		for(integer i = 0; i < numOfAccounts; i++){
			Account newAccount = new Account(
				Name = 'Test' + String.valueOf(i),
				Industry = 'Accounting',
				of_Locations__c = 5 + i
				);

			accountsToInsert.add(newAccount);

		}


		return accountsToInsert;
	}

	public static List<Contact> createContacts(Integer numOfContacts, List<Account> accounts){

		list<Contact> contactsToInsert = new List<Contact>();

		for(Integer i = 0; i < numOfContacts; i++){
			Contact newCon = new Contact (
				lastName 	= 'Test' + String.valueOf(i) ,
				accountId 	= accounts[i].ID ,
				title 		= 'Test' ,
    			email 		= String.valueOf(i) + 'test@test.com'
				);
			contactsToInsert.add(newCon);
		}

		return contactsToInsert;
	}
	
	
}

System.DmlException: Insert failed. First exception on row 0; first error: DUPLICATES_DETECTED, You're creating a duplicate record. We recommend you use an existing record instead.: []

Class.NumberOfAccountsRelatedToUserTest.test_method_one: line 22, column 1

How on earth am I creating a duplicate record???