mirror of
https://github.com/n8n-io/n8n
synced 2026-04-21 15:47:20 +00:00
104 lines
2.3 KiB
TypeScript
104 lines
2.3 KiB
TypeScript
import { NodeTestHarness } from '@nodes-testing/node-test-harness';
|
|
import nock from 'nock';
|
|
|
|
describe('GoogleAnalyticsV2', () => {
|
|
const credentials = {
|
|
googleAnalyticsOAuth2: {
|
|
scope: '',
|
|
oauthTokenData: {
|
|
access_token: 'ACCESSTOKEN',
|
|
},
|
|
},
|
|
};
|
|
|
|
describe('Report Resource - GA4 Get Operation', () => {
|
|
beforeAll(() => {
|
|
const mock = nock('https://analyticsdata.googleapis.com');
|
|
|
|
mock.post('/v1beta/properties/123456789:runReport').reply(200, {
|
|
dimensionHeaders: [{ name: 'date' }],
|
|
metricHeaders: [{ name: 'totalUsers', type: 'TYPE_INTEGER' }],
|
|
rows: [
|
|
{
|
|
dimensionValues: [{ value: '20240101' }],
|
|
metricValues: [{ value: '100' }],
|
|
},
|
|
],
|
|
rowCount: 1,
|
|
});
|
|
});
|
|
|
|
new NodeTestHarness().setupTests({
|
|
credentials,
|
|
workflowFiles: ['report-ga4-get.workflow.json'],
|
|
});
|
|
});
|
|
|
|
describe('Report Resource - Universal Analytics Get Operation', () => {
|
|
beforeAll(() => {
|
|
const mock = nock('https://analyticsreporting.googleapis.com');
|
|
|
|
mock.post('/v4/reports:batchGet').reply(200, {
|
|
reports: [
|
|
{
|
|
columnHeader: {
|
|
dimensions: ['ga:date'],
|
|
metricHeader: {
|
|
metricHeaderEntries: [
|
|
{ name: 'ga:users', type: 'INTEGER' },
|
|
{ name: 'ga:sessions', type: 'INTEGER' },
|
|
],
|
|
},
|
|
},
|
|
data: {
|
|
rows: [
|
|
{
|
|
dimensions: ['20240101'],
|
|
metrics: [{ values: ['100', '50'] }],
|
|
},
|
|
],
|
|
},
|
|
},
|
|
],
|
|
});
|
|
});
|
|
|
|
new NodeTestHarness().setupTests({
|
|
credentials,
|
|
workflowFiles: ['report-universal-get.workflow.json'],
|
|
});
|
|
});
|
|
|
|
describe('UserActivity Resource - Search Operation', () => {
|
|
beforeAll(() => {
|
|
const mock = nock('https://analyticsreporting.googleapis.com');
|
|
|
|
mock.post('/v4/userActivity:search').reply(200, {
|
|
sessions: [
|
|
{
|
|
sessionId: 'session123',
|
|
deviceCategory: 'desktop',
|
|
platform: 'web',
|
|
dataSource: 'web',
|
|
activities: [
|
|
{
|
|
activityTime: '2024-01-01T10:00:00Z',
|
|
source: 'web',
|
|
medium: 'organic',
|
|
channelGrouping: 'Organic Search',
|
|
campaign: 'spring_sale',
|
|
keyword: 'analytics',
|
|
hostname: 'example.com',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
});
|
|
});
|
|
|
|
new NodeTestHarness().setupTests({
|
|
credentials,
|
|
workflowFiles: ['useractivity-search.workflow.json'],
|
|
});
|
|
});
|
|
});
|