Skip to main content
Glama

Dodo Payments

Official
by dodopayments
meters.test.ts3.77 kB
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import DodoPayments from 'dodopayments'; const client = new DodoPayments({ bearerToken: 'My Bearer Token', baseURL: process.env['TEST_API_BASE_URL'] ?? 'http://127.0.0.1:4010', }); describe('resource meters', () => { test('create: only required params', async () => { const responsePromise = client.meters.create({ aggregation: { type: 'count' }, event_name: 'event_name', measurement_unit: 'measurement_unit', name: 'name', }); const rawResponse = await responsePromise.asResponse(); expect(rawResponse).toBeInstanceOf(Response); const response = await responsePromise; expect(response).not.toBeInstanceOf(Response); const dataAndResponse = await responsePromise.withResponse(); expect(dataAndResponse.data).toBe(response); expect(dataAndResponse.response).toBe(rawResponse); }); test('create: required and optional params', async () => { const response = await client.meters.create({ aggregation: { type: 'count', key: 'key' }, event_name: 'event_name', measurement_unit: 'measurement_unit', name: 'name', description: 'description', filter: { clauses: [ { key: 'user_id', operator: 'equals', value: 'user123' }, { key: 'amount', operator: 'greater_than', value: 100 }, ], conjunction: 'and', }, }); }); test('retrieve', async () => { const responsePromise = client.meters.retrieve('id'); const rawResponse = await responsePromise.asResponse(); expect(rawResponse).toBeInstanceOf(Response); const response = await responsePromise; expect(response).not.toBeInstanceOf(Response); const dataAndResponse = await responsePromise.withResponse(); expect(dataAndResponse.data).toBe(response); expect(dataAndResponse.response).toBe(rawResponse); }); test('list', async () => { const responsePromise = client.meters.list(); const rawResponse = await responsePromise.asResponse(); expect(rawResponse).toBeInstanceOf(Response); const response = await responsePromise; expect(response).not.toBeInstanceOf(Response); const dataAndResponse = await responsePromise.withResponse(); expect(dataAndResponse.data).toBe(response); expect(dataAndResponse.response).toBe(rawResponse); }); test('list: request options and params are passed correctly', async () => { // ensure the request options are being passed correctly by passing an invalid HTTP method in order to cause an error await expect( client.meters.list( { archived: true, page_number: 0, page_size: 0 }, { path: '/_stainless_unknown_path' }, ), ).rejects.toThrow(DodoPayments.NotFoundError); }); test('archive', async () => { const responsePromise = client.meters.archive('id'); const rawResponse = await responsePromise.asResponse(); expect(rawResponse).toBeInstanceOf(Response); const response = await responsePromise; expect(response).not.toBeInstanceOf(Response); const dataAndResponse = await responsePromise.withResponse(); expect(dataAndResponse.data).toBe(response); expect(dataAndResponse.response).toBe(rawResponse); }); test('unarchive', async () => { const responsePromise = client.meters.unarchive('id'); const rawResponse = await responsePromise.asResponse(); expect(rawResponse).toBeInstanceOf(Response); const response = await responsePromise; expect(response).not.toBeInstanceOf(Response); const dataAndResponse = await responsePromise.withResponse(); expect(dataAndResponse.data).toBe(response); expect(dataAndResponse.response).toBe(rawResponse); }); });

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dodopayments/dodopayments-node'

If you have feedback or need assistance with the MCP directory API, please join our Discord server