• Wylie Peach
  • NEWBIE
  • 20 Points
  • Member since 2019

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 2
    Questions
  • 5
    Replies
Hi Everyone,

I wrote a simple trigger that concatenates some fields into a key__c, and now I am trying to test it. I am having trouble getting it to return the tested inputs. Also, I was thinking of doing some bulk testing as well, should I write a loop? Here is what I have so far: 
Trigger 
trigger Composite_Key on Purchases__c (before insert, before update) {
    if(Trigger.isBefore)
    {
        for(Purchases__c purchase : trigger.new)
        {
            String eventName = String.isBlank(purchase.Event_name__c)?'':purchase.Event_name__c+'-';
            String section = String.isBlank(purchase.section__c)?'':purchase.section__c+'-';
            String row = String.isBlank(purchase.row__c)?'':purchase.row__c+'-';
            String seat = String.isBlank(String.valueOf(purchase.seat__c))?'':String.valueOf(purchase.seat__c)+'-';
            String numseats = String.isBlank(String.valueOf(purchase.number_of_seats__c))?'':String.valueOf(purchase.number_of_seats__c)+'-';
            String adddatetime = String.isBlank(String.valueOf(purchase.add_datetime__c))?'':String.valueOf(purchase.add_datetime__c);
            purchase.Key__c = eventName + section + row + seat + numseats + adddatetime;
        }
    }
}

Test so far
@isTest
private class CompositeKeyTest {
    
    static testMethod void testPurchase() {
        //create a purchase to fire the trigger
        Purchases__c purchase = new Purchases__c(Event_name__c = 'test', section__c='test',row__c='test', seat__c=1,number_of_seats__c='test',add_datetime__c='test');
        
        insert purchase;
        System.Assert(purchase.Key__c=='testtesttest1testtest');
    }
}

 
Hi everyone, 
I am trying to write a Trigger (before insert, before update) that will create  a composite key on a Purchases__c custom object. The data is coming in, but has no unique ID. Purchases__c has custom fields like Event_name, section_Name, row_name etc, that I need to concatenate into a custom field Key__c which is an external ID. I am fairly new to triggers and was hoping for some guidance on how to start going about it. I am pretty sure I am way off and probably overthinking this. Any sort of suggestion would help. Here is what I have so far:

trigger Composite_Key on Purchases__c (before insert, before update) {
    //need to assign Key__c field with concatenated values
            //Event_name
            //section_Name
            //row_name
            //seat_num
            //num_seats
            //add_datetime
    if(Trigger.isBefore)
    {
        if(Trigger.isInsert)
        {
           Key__c key = new Key__c();
           key.Event_name = Trigger.new[0].name;
        }
        else if(Trigger.isUpdate)
        {
           //code here
        }
    }
}
Hi Everyone,

I wrote a simple trigger that concatenates some fields into a key__c, and now I am trying to test it. I am having trouble getting it to return the tested inputs. Also, I was thinking of doing some bulk testing as well, should I write a loop? Here is what I have so far: 
Trigger 
trigger Composite_Key on Purchases__c (before insert, before update) {
    if(Trigger.isBefore)
    {
        for(Purchases__c purchase : trigger.new)
        {
            String eventName = String.isBlank(purchase.Event_name__c)?'':purchase.Event_name__c+'-';
            String section = String.isBlank(purchase.section__c)?'':purchase.section__c+'-';
            String row = String.isBlank(purchase.row__c)?'':purchase.row__c+'-';
            String seat = String.isBlank(String.valueOf(purchase.seat__c))?'':String.valueOf(purchase.seat__c)+'-';
            String numseats = String.isBlank(String.valueOf(purchase.number_of_seats__c))?'':String.valueOf(purchase.number_of_seats__c)+'-';
            String adddatetime = String.isBlank(String.valueOf(purchase.add_datetime__c))?'':String.valueOf(purchase.add_datetime__c);
            purchase.Key__c = eventName + section + row + seat + numseats + adddatetime;
        }
    }
}

Test so far
@isTest
private class CompositeKeyTest {
    
    static testMethod void testPurchase() {
        //create a purchase to fire the trigger
        Purchases__c purchase = new Purchases__c(Event_name__c = 'test', section__c='test',row__c='test', seat__c=1,number_of_seats__c='test',add_datetime__c='test');
        
        insert purchase;
        System.Assert(purchase.Key__c=='testtesttest1testtest');
    }
}

 
Hi everyone, 
I am trying to write a Trigger (before insert, before update) that will create  a composite key on a Purchases__c custom object. The data is coming in, but has no unique ID. Purchases__c has custom fields like Event_name, section_Name, row_name etc, that I need to concatenate into a custom field Key__c which is an external ID. I am fairly new to triggers and was hoping for some guidance on how to start going about it. I am pretty sure I am way off and probably overthinking this. Any sort of suggestion would help. Here is what I have so far:

trigger Composite_Key on Purchases__c (before insert, before update) {
    //need to assign Key__c field with concatenated values
            //Event_name
            //section_Name
            //row_name
            //seat_num
            //num_seats
            //add_datetime
    if(Trigger.isBefore)
    {
        if(Trigger.isInsert)
        {
           Key__c key = new Key__c();
           key.Event_name = Trigger.new[0].name;
        }
        else if(Trigger.isUpdate)
        {
           //code here
        }
    }
}