48 lines
1.4 KiB
TypeScript
48 lines
1.4 KiB
TypeScript
import { expect, tap } from '@push.rocks/tapbundle';
|
|
import * as medium from '../ts/index.js';
|
|
|
|
import {Qenv} from '@push.rocks/qenv';
|
|
|
|
const testQenv = new Qenv('./', './.nogit/');
|
|
let testMediumAccount: medium.MediumAccount;
|
|
|
|
tap.test('first test', async () => {
|
|
testMediumAccount = new medium.MediumAccount(testQenv.getEnvVarOnDemand('MEDIUM_API_TOKEN'));
|
|
expect(testMediumAccount).toBeInstanceOf(medium.MediumAccount);
|
|
});
|
|
|
|
tap.test('should get me info', async () => {
|
|
const result = await testMediumAccount.getAccountInfo();
|
|
console.log(result);
|
|
});
|
|
|
|
tap.test('should get publications', async () => {
|
|
const result = await testMediumAccount.getAllPublications();
|
|
// console.log(result);
|
|
});
|
|
|
|
tap.test('should get own publications', async () => {
|
|
const result = await testMediumAccount.getOwnPublications();
|
|
// console.log(result);
|
|
});
|
|
|
|
tap.test('should get a publication by name', async () => {
|
|
const result = await testMediumAccount.getPublicationByName('mojoio-test');
|
|
console.log(result);
|
|
});
|
|
|
|
tap.test('should create a post', async () => {
|
|
const mojoioTestPublication = await testMediumAccount.getPublicationByName('mojoio-test');
|
|
const newPost = await mojoioTestPublication.createPost({
|
|
title: 'a test title',
|
|
contentFormat: 'html',
|
|
canonicalUrl: 'https://mojo.io/testarticle',
|
|
content: '<h1>hello</1> So awesome',
|
|
publishStatus: 'draft',
|
|
tags: []
|
|
});
|
|
console.log(newPost);
|
|
})
|
|
|
|
tap.start();
|