Нужна помощь с написанием isTest

Нужна помощь с написанием isTest для public static void createRecord (Product__c product){ с использованием assert

Первое что нужно, это создать и вставить в базу тестовые данные.
Это можно можон сделать один раз через @TestSetup.

Дальше создаем тестовые методы @IsTest под каждый из твоих реальных методов.

@istest
public class TestProduct {

    @testSetup
    static void setData() {
        Product__c product = new Product__c();
        product.Name = 'Test';
        insert product;
    }

    @istest
    static void getProducts() {
        List<Product__c> products = ProductTableCmpController.getProducts();
        System.assertEquals(products.Name, 'Test');
    }

    @istest
    static void createRecord() {

        Product__c product = new Product__c();
        product.Name = 'TestNew';
        
        ProductTableCmpController.createRecord(product);

        List<Product__c> products = [SELECT Id, ImageURL__c, Name, Description__c, UnitPrice__c, UnitsAvailable__c 
                                     FROM Product__c
                                     ORDER BY AddedDate__c DESC];

        System.assertEquals(products.size(), 2);
    }  

}

Спасибо

Смотри, первое на что стоит обратить внмание.
Это что ты передаешь в метод. В реализации ты передаешь айди, в тестах имя.

Второй момент, на который я бы обратил внимание. Зачем селектить записи и потом их убирать.
если ты передаешь айди, просто создай запись продуктТейбл, поставь туда айди и удали. минус один запрос в базу.

В Вашей реализации запись не имеет айди, а его можно получить только вставить запись в базу. А хардкодить айди очень плохая практика, так что мы вставляем в базу, и удаляем запись из базы.

        ProductTable__c product = new ProductTable__c(Name = 'Test');
        insert product ;

        ProductTableCmpController.deleteProductTable(product.Id);
        delete product;