bitrix/test.lua

47 lines
1.9 KiB
Lua

local json = require('cjson')
local crm = require('bitrix.crm')
local log = require('utils.log')
log.outfile = 'logs/tests_'..os.date('%Y-%m-%d')..'.log'
log.level = 'trace'
local deal_id = 158811
local test_date = '2025-01-05'
local function get_statuses()
log.info('Поля статусов CRM: '..json.encode(crm.status.fields()))
log.info('Статусы сделок : '..json.encode(crm.status.list(nil,{['ENTITY_ID']='DEAL_TYPE'})))
end
local function test_deal_get(id)
local result = crm.deal.get(id)
if result.BEGINDATE then log.info('Тест получения сделок: успешно')
else log.error('Тест получения сделок: провален '..json.encode(result)) end
result = crm.deal.productrows.get(id)
if result[1].PRODUCT_ID then log.info('Тест получения продукта сделки: успешно')
else log.error('Тест получения продукта сделки: провален '..json.encode(result)) end
end
local function test_deal_add_update_delete()
local result = crm.deal.add(id)
if result.BEGINDATE then log.info('Тест получения сделок: успешно')
else log.error('Тест получения сделок: провален '..json.encode(result)) end
result = crm.deal.productrows.get(id)
if result[1].PRODUCT_ID then log.info('Тест получения продукта сделки: успешно')
else log.error('Тест получения продукта сделки: провален '..json.encode(result)) end
end
local function test_deal_list()
local result = crm.deal.list({'*'},{['STAGE_ID']='NEW',['>DATE_CREATE']=test_date})
if #result ~= tonumber(crm.res.total) then
log.error('Ошибка обработки листинга сделок '..json.encode(crm.res))
else
log.info('Тест листинга сделок: успешно')
end
end
get_statuses()
test_deal_get(deal_id)
test_deal_list()