tests
This commit is contained in:
parent
ca54af0f13
commit
f54ea595eb
18
README.md
18
README.md
@ -1643,24 +1643,6 @@ user.field.delete(id)
|
||||
user.field.getlist(order, filter)
|
||||
```
|
||||
|
||||
#### Получить статус пользователя `user.status.get`
|
||||
|
||||
[user.status.get](https://apidocs.bitrix24.ru/api-reference/user/user-status-get.html)
|
||||
|
||||
```lua
|
||||
user.status.get(user_id)
|
||||
```
|
||||
|
||||
#### Получить аватар пользователя `user.avatar.get`
|
||||
|
||||
[user.avatar.get](https://apidocs.bitrix24.ru/api-reference/user/user-avatar-get.html)
|
||||
|
||||
```lua
|
||||
user.avatar.get(user_id, size) -- size: 'small', 'big' или nil (оригинал)
|
||||
```
|
||||
|
||||
Конечно. Вот документация для модуля Chats в формате Markdown, отформатированная согласно вашим требованиям (пустая строка после подзаголовков).
|
||||
|
||||
```
|
||||
# Чаты
|
||||
|
||||
|
||||
@ -1,36 +1,36 @@
|
||||
local _M = require('bitrix.api')
|
||||
local array = require('utils.array')
|
||||
|
||||
_M.departments = {}
|
||||
_M.department = {}
|
||||
|
||||
--[[
|
||||
Департаменты (departments.*)
|
||||
Департаменты (department.*)
|
||||
--]]
|
||||
|
||||
-- https://apidocs.bitrix24.ru/api-reference/departments/departments-add.html
|
||||
-- https://apidocs.bitrix24.ru/api-reference/department/department-add.html
|
||||
|
||||
function _M.departments.add(fields)
|
||||
function _M.department.add(fields)
|
||||
return _M.post('department.add', { ['fields'] = fields })
|
||||
end
|
||||
|
||||
-- https://apidocs.bitrix24.ru/api-reference/departments/departments-update.html
|
||||
-- https://apidocs.bitrix24.ru/api-reference/department/department-update.html
|
||||
|
||||
function _M.departments.update(id, fields)
|
||||
function _M.department.update(id, fields)
|
||||
return _M.post('department.update', { ['ID'] = id, ['fields'] = fields })
|
||||
end
|
||||
|
||||
-- https://apidocs.bitrix24.ru/api-reference/departments/departments-get.html
|
||||
-- https://apidocs.bitrix24.ru/api-reference/department/department-get.html
|
||||
|
||||
function _M.departments.get(id)
|
||||
function _M.department.get(id)
|
||||
return _M.post('department.get', { ['ID'] = id })
|
||||
end
|
||||
|
||||
-- https://apidocs.bitrix24.ru/api-reference/departments/departments-getlist.html
|
||||
-- https://apidocs.bitrix24.ru/api-reference/department/department-getlist.html
|
||||
|
||||
function _M.departments.getlist(order, filter, select, start)
|
||||
function _M.department.getlist(order, filter, select, start)
|
||||
select = select or {'*'}
|
||||
return _M.fetchAllPages(function(startPos)
|
||||
return _M.post('department.getlist', {
|
||||
return _M.post('department.get', {
|
||||
['order'] = order,
|
||||
['filter'] = filter,
|
||||
['select'] = select,
|
||||
@ -39,15 +39,15 @@ function _M.departments.getlist(order, filter, select, start)
|
||||
end, start)
|
||||
end
|
||||
|
||||
-- https://apidocs.bitrix24.ru/api-reference/departments/departments-fields.html
|
||||
-- https://apidocs.bitrix24.ru/api-reference/department/department-fields.html
|
||||
|
||||
function _M.departments.fields()
|
||||
function _M.department.fields()
|
||||
return _M.post('department.fields', {})
|
||||
end
|
||||
|
||||
-- https://apidocs.bitrix24.ru/api-reference/departments/departments-delete.html
|
||||
-- https://apidocs.bitrix24.ru/api-reference/department/department-delete.html
|
||||
|
||||
function _M.departments.delete(id)
|
||||
function _M.department.delete(id)
|
||||
return _M.post('department.delete', { ['ID'] = id })
|
||||
end
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@ end
|
||||
function _M.user.getlist(order, filter, select, params, start)
|
||||
select = select or {'*'}
|
||||
return _M.fetchAllPages(function(startPos)
|
||||
return _M.post('user.getlist', {
|
||||
return _M.post('user.get', {
|
||||
['order'] = order,
|
||||
['filter'] = filter,
|
||||
['select'] = select,
|
||||
@ -86,17 +86,5 @@ function _M.user.status.get(user_id)
|
||||
return _M.post('user.status.get', { ['USER_ID'] = user_id })
|
||||
end
|
||||
|
||||
--[[
|
||||
Аватары (user.avatar.*)
|
||||
--]]
|
||||
|
||||
-- https://apidocs.bitrix24.ru/api-reference/user/user-avatar-get.html
|
||||
|
||||
function _M.user.avatar.get(user_id, size)
|
||||
-- size может быть 'small', 'big' или nil (оригинал)
|
||||
local params = { ['USER_ID'] = user_id }
|
||||
if size then params['SIZE'] = size end
|
||||
return _M.post('user.avatar.get', params)
|
||||
end
|
||||
|
||||
return _M
|
||||
|
||||
@ -1,18 +1,18 @@
|
||||
local json = require('cjson')
|
||||
local log = require('utils.log')
|
||||
local departments = require('bitrix.departments')
|
||||
local department = require('bitrix.department')
|
||||
|
||||
-- Настройка логирования
|
||||
log.outfile = 'logs/tests_departments_live_'..os.date('%Y-%m-%d_%H-%M-%S')..'.log'
|
||||
log.outfile = 'logs/tests_department_live_'..os.date('%Y-%m-%d_%H-%M-%S')..'.log'
|
||||
log.level = 'trace'
|
||||
log.info("===== СТАРТ ТЕСТИРОВАНИЯ (РЕЖИМ LIVE) =====")
|
||||
|
||||
--=== ТЕСТЫ ===--
|
||||
|
||||
local function test_departments_fields()
|
||||
local function test_department_fields()
|
||||
log.info('--- Тест: Получение справочника полей (fields) ---')
|
||||
|
||||
local result, error_response = departments.departments.fields()
|
||||
local result, error_response = department.department.fields()
|
||||
|
||||
if result then
|
||||
log.info('Тест полей: УСПЕШНО.')
|
||||
@ -23,96 +23,24 @@ local function test_departments_fields()
|
||||
end
|
||||
end
|
||||
|
||||
local function test_departments_add()
|
||||
log.info('--- Тест: Создание подразделения (add) ---')
|
||||
|
||||
-- Создадим тестовый отдел с уникальным именем
|
||||
local dept_name = "Test Dept - " .. os.date("%H-%M-%S")
|
||||
local fields = {
|
||||
NAME = dept_name,
|
||||
SORT = 100,
|
||||
PARENT_ID = 1 -- Родительский отдел (обычно 1 - компания)
|
||||
}
|
||||
|
||||
local result, error_response = departments.departments.add(fields)
|
||||
|
||||
if result and result.ID then
|
||||
log.info(string.format('Тест создания: УСПЕШНО. ID нового отдела: %d', result.ID))
|
||||
return result.ID -- Возвращаем ID для тестов обновления и удаления
|
||||
else
|
||||
log.error('Тест создания: ПРОВАЛЕНО.')
|
||||
if error_response then log.error(error_response) end
|
||||
return nil
|
||||
end
|
||||
end
|
||||
|
||||
local function test_departments_getlist(dept_name)
|
||||
-- Этот тест запускается после создания отдела, чтобы найти его в списке
|
||||
if not dept_name then return end
|
||||
local function test_department_getlist()
|
||||
|
||||
log.info('--- Тест: Получение списка подразделений (getlist) ---')
|
||||
|
||||
-- Используем фильтр по имени, чтобы найти наш только что созданный отдел
|
||||
local filter = {
|
||||
NAME = dept_name
|
||||
}
|
||||
|
||||
local result_list, error_response = departments.departments.getlist({'NAME'}, filter, {'ID', 'NAME'}, 0)
|
||||
local filter = {}
|
||||
|
||||
local result_list, error_response = department.department.getlist({'NAME'}, filter, {'ID', 'NAME'}, 0)
|
||||
print(json.encode(result_list))
|
||||
if result_list and #result_list > 0 then
|
||||
log.info(string.format('Тест getlist: УСПЕШНО. Найдено отделов по фильтру: %d', #result_list))
|
||||
|
||||
-- Проверим, что имя первого найденного отдела совпадает с искомым
|
||||
if result_list[1].NAME == dept_name then
|
||||
log.debug('Проверка имени: УСПЕШНО. Найден отдел: ' .. result_list[1].NAME)
|
||||
else
|
||||
log.warning('Найден отдел, но имя не совпадает с искомым.')
|
||||
end
|
||||
else
|
||||
log.error('Тест getlist: ПРОВАЛЕНО. Отдел не найден в списке.')
|
||||
if error_response then log.error(error_response) end
|
||||
end
|
||||
end
|
||||
|
||||
local function test_departments_update(new_dept_id)
|
||||
if not new_dept_id then return end
|
||||
|
||||
log.info('--- Тест: Обновление подразделения (update) ---')
|
||||
|
||||
local fields = {
|
||||
NAME = "Updated Test Dept - " .. os.date("%H-%M-%S") -- Меняем имя
|
||||
}
|
||||
|
||||
local result, error_response = departments.departments.update(new_dept_id, fields)
|
||||
|
||||
if result and result.result then
|
||||
log.info('Тест обновления: УСПЕШНО.')
|
||||
else
|
||||
log.error('Тест обновления: ПРОВАЛЕНО.')
|
||||
if error_response then log.error(error_response) end
|
||||
end
|
||||
end
|
||||
|
||||
local function test_departments_delete(new_dept_id)
|
||||
if not new_dept_id then return end
|
||||
|
||||
log.info('--- Тест: Удаление подразделения (delete) ---')
|
||||
|
||||
local result, error_response = departments.departments.delete(new_dept_id)
|
||||
|
||||
if result and result.result then
|
||||
log.info('Тест удаления: УСПЕШНО.')
|
||||
else
|
||||
log.error('Тест удаления: ПРОВАЛЕНО.')
|
||||
if error_response then log.error(error_response) end
|
||||
end
|
||||
|
||||
|
||||
--=== ЗАПУСК ТЕСТОВ ===--
|
||||
test_departments_fields()
|
||||
local dept_name_for_list = "Test Dept - " .. os.date("%H-%M-%S") -- Сохраняем имя для теста getlist
|
||||
local new_dept_id = test_departments_add()
|
||||
test_departments_getlist(dept_name_for_list) -- <-- ЗДЕСЬ ВЫЗОВ getlist
|
||||
test_departments_update(new_dept_id)
|
||||
test_departments_delete(new_dept_id)
|
||||
test_department_fields()
|
||||
test_department_getlist() -- <-- ЗДЕСЬ ВЫЗОВ getlist
|
||||
log.info("===== ЗАВЕРШЕНИЕ ТЕСТИРОВАНИЯ =====")
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
local json = require('cjson')
|
||||
local log = require('utils.log')
|
||||
local user = require('bitrix.user')
|
||||
|
||||
-- Настройка логирования
|
||||
log.outfile = 'logs/tests_user_live_'..os.date('%Y-%m-%d_%H-%M-%S')..'.log'
|
||||
@ -7,8 +8,6 @@ log.level = 'trace'
|
||||
|
||||
log.info("===== СТАРТ ТЕСТИРОВАНИЯ (РЕЖИМ LIVE) =====")
|
||||
|
||||
-- Подключаем модуль. Настройки подключения берутся из bitrix.api
|
||||
local user = require('bitrix.user')
|
||||
|
||||
-- ID пользователя для тестов. Обычно 1 - это администратор.
|
||||
local test_user_id = 1
|
||||
@ -17,10 +16,10 @@ local test_user_id = 1
|
||||
|
||||
local function test_user_get()
|
||||
log.info('--- Тест: Получение пользователя (get) ---')
|
||||
local result, error_response = user.get(test_user_id)
|
||||
local result, error_response = user.user.get(test_user_id)
|
||||
|
||||
if result and result.users and result.users[1] then
|
||||
local user_data = result.users[1]
|
||||
if result and result[1] then
|
||||
local user_data = result[1]
|
||||
log.info(string.format('Тест получения пользователя: УСПЕШНО. Имя: "%s %s"', user_data.NAME or '', user_data.LAST_NAME or ''))
|
||||
else
|
||||
log.error('Тест получения пользователя: ПРОВАЛЕНО.')
|
||||
@ -40,11 +39,11 @@ local function test_user_getlist()
|
||||
EMAIL = '%@%'
|
||||
}
|
||||
|
||||
local result_list, error_response = user.getlist({'LAST_NAME', 'NAME'}, filter, {'ID', 'NAME', 'LAST_NAME', 'EMAIL'}, nil, 0)
|
||||
|
||||
if result_list and result_list.users and #result_list.users > 0 then
|
||||
log.info(string.format('Тест листинга пользователей: УСПЕШНО. Найдено пользователей: %d', #result_list.users))
|
||||
elseif result_list and result_list.users and #result_list.users == 0 then
|
||||
local result_list, error_response = user.user.getlist({'LAST_NAME', 'NAME'}, filter, {'ID', 'NAME', 'LAST_NAME', 'EMAIL'}, nil, 0)
|
||||
print(json.encode(result_list))
|
||||
if result_list and #result_list > 0 then
|
||||
log.info(string.format('Тест листинга пользователей: УСПЕШНО. Найдено пользователей: %d', #result_list))
|
||||
elseif result_list and #result_list == 0 then
|
||||
log.warning('Тест листинга пользователей: Пользователи не найдены по фильтру.')
|
||||
else
|
||||
log.error('Тест листинга пользователей: ПРОВАЛЕНО.')
|
||||
@ -56,7 +55,7 @@ end
|
||||
|
||||
local function test_user_current()
|
||||
log.info('--- Тест: Получение текущего пользователя (current) ---')
|
||||
local result, error_response = user.current()
|
||||
local result, error_response = user.user.current()
|
||||
|
||||
if result and result.ID then
|
||||
log.info(string.format('Тест текущего пользователя: УСПЕШНО. Вы вошли как: "%s %s"', result.NAME or '', result.LAST_NAME or ''))
|
||||
@ -68,26 +67,8 @@ local function test_user_current()
|
||||
end
|
||||
end
|
||||
|
||||
local function test_user_avatar_get()
|
||||
log.info('--- Тест: Получение аватара пользователя (avatar.get) ---')
|
||||
local result, error_response = user.avatar.get(test_user_id, 'big') -- Получаем большой аватар
|
||||
|
||||
if result and result.result then
|
||||
log.info('Тест получения аватара: УСПЕШНО.')
|
||||
-- Результат обычно содержит URL до изображения
|
||||
log.debug('URL аватара: ' .. tostring(result.result))
|
||||
else
|
||||
log.error('Тест получения аватара: ПРОВАЛЕНО.')
|
||||
if error_response then
|
||||
log.error('Ответ сервера: ' .. json.encode(error_response))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
--=== ЗАПУСК ТЕСТОВ ===--
|
||||
test_user_get()
|
||||
test_user_getlist()
|
||||
test_user_current()
|
||||
test_user_avatar_get()
|
||||
log.info("===== ЗАВЕРШЕНИЕ ТЕСТИРОВАНИЯ =====")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user