UNPKG

n8n-nodes-awx

Version:

n8n node to interact with Ansible AWX/Tower with improved type safety

56 lines 2.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const ProjectResources_1 = require("../src/resources/ProjectResources"); jest.mock('../src/ApiClient'); describe('ProjectResources', () => { let mockApiClient; let projectResources; const mockProject = { id: 1, name: 'Test Project', description: 'Test description' }; beforeEach(() => { jest.clearAllMocks(); mockApiClient = { get: jest.fn().mockImplementation((url) => { if (url === '/api/v2/projects/') { return Promise.resolve({ data: { results: [mockProject] } }); } return Promise.resolve({ data: mockProject }); }), post: jest.fn().mockResolvedValue({ data: mockProject }), put: jest.fn().mockResolvedValue({ data: mockProject }), delete: jest.fn().mockResolvedValue(undefined), }; projectResources = new ProjectResources_1.ProjectResources(mockApiClient); }); test('list returns projects', async () => { console.log('Running list test...'); const projects = await projectResources.list(); console.log('Projects:', projects); expect(projects).toEqual([mockProject]); expect(mockApiClient.get).toHaveBeenCalledWith('/api/v2/projects/'); console.log('List test passed!'); }); test('get returns project by id', async () => { const project = await projectResources.get(1); expect(project).toEqual(mockProject); expect(mockApiClient.get).toHaveBeenCalledWith('/api/v2/projects/1/'); }); test('create project', async () => { const project = await projectResources.create({ name: 'New Project' }); expect(project).toEqual(mockProject); expect(mockApiClient.post).toHaveBeenCalledWith('/api/v2/projects/', { name: 'New Project' }); }); test('update project', async () => { const project = await projectResources.update(1, { name: 'Updated Project' }); expect(project).toEqual(mockProject); expect(mockApiClient.put).toHaveBeenCalledWith('/api/v2/projects/1/', { name: 'Updated Project' }); }); test('delete project', async () => { await projectResources.delete(1); expect(mockApiClient.delete).toHaveBeenCalledWith('/api/v2/projects/1/'); }); }); //# sourceMappingURL=ProjectResources.test.js.map