Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
# Changelog
## [v1.15.1](https://github.com/contentstack/contentstack-management-javascript/tree/v1.15.1) (2024-01-29)
- Feature
- Taxonomy Import/Export test cases are added
## [v1.15.0](https://github.com/contentstack/contentstack-management-javascript/tree/v1.15.0) (2024-01-23)
- Feature
- Taxonomy Import/Export feature added
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@contentstack/management",
"version": "1.15.0",
"version": "1.15.1",
"description": "The Content Management API is used to manage the content of your Contentstack account",
"main": "./dist/node/contentstack-management.js",
"browser": "./dist/web/contentstack-management.js",
Expand Down
8 changes: 8 additions & 0 deletions test/api/mock/taxonomy.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"taxonomy": {
"uid": "UID",
"name": "name",
"description": "test"
},
"terms": []
}
25 changes: 25 additions & 0 deletions test/api/taxonomy-test.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { expect } from 'chai'
import path from 'path'
import { describe, it, setup } from 'mocha'
import { jsonReader } from '../utility/fileOperations/readwrite'
import { contentstackClient } from '../utility/ContentstackClient.js'
Expand All @@ -12,6 +13,8 @@ const taxonomy = {
description: 'Description for Taxonomy testing'
}

const importTaxonomy = { taxonomy: path.join(__dirname, './mock/taxonomy.json') }

var taxonomyUID = ''
var taxonomyDelUID = 'taxonomy_testing'

Expand All @@ -32,6 +35,28 @@ describe('taxonomy api Test', () => {
.catch(done)
})

it('Import taxonomy', done => {
makeTaxonomy()
.import(importTaxonomy)
.then((taxonomyResponse) => {
expect(taxonomyResponse.name).to.be.equal("name")
done()
})
.catch(done)
})

it('Export taxonomy', done => {
makeTaxonomy(taxonomyUID)
.export()
.then((taxonomyResponse) => {
expect(taxonomyResponse.uid).to.be.equal(taxonomyUID)
expect(taxonomyResponse.name).to.be.not.equal(null)
done()
})
.catch(done)
})


it('Fetch taxonomy from uid', done => {
makeTaxonomy(taxonomyUID)
.fetch()
Expand Down
2 changes: 2 additions & 0 deletions test/sanity-check/api/delete-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ describe('Branch Alias delete api Test', () => {
.catch(done)
})
})

function makeEnvironment (uid = null) {
return client.stack({ api_key: process.env.API_KEY }).environment(uid)
}
Expand All @@ -136,3 +137,4 @@ function makeDeliveryToken (uid = null) {
function makeBranchAlias (uid = null) {
return client.stack({ api_key: process.env.API_KEY }).branchAlias(uid)
}

7 changes: 7 additions & 0 deletions test/unit/mock/objects.js
Original file line number Diff line number Diff line change
Expand Up @@ -741,6 +741,12 @@ const auditLogsMock = {
]
}

const taxonomyImportMock = {
"uid": "UID",
"name": "name",
"description": "test"
}

const taxonomyMock = {
uid: 'UID',
name: 'name',
Expand Down Expand Up @@ -883,6 +889,7 @@ export {
auditLogsMock,
auditLogItemMock,
taxonomyMock,
taxonomyImportMock,
termsMock,
teamsMock,
teamUsersMock,
Expand Down
50 changes: 48 additions & 2 deletions test/unit/taxonomy-test.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import Axios from 'axios'
import path from 'path'
import { expect } from 'chai'
import { describe, it } from 'mocha'
import MockAdapter from 'axios-mock-adapter'
import { Taxonomy } from '../../lib/stack/taxonomy'
import { systemUidMock, stackHeadersMock, taxonomyMock, noticeMock, termsMock } from './mock/objects'
import { Taxonomy, createFormData, TaxonomyCollection } from '../../lib/stack/taxonomy'
import { systemUidMock, stackHeadersMock, taxonomyMock, noticeMock, termsMock, taxonomyImportMock } from './mock/objects'

describe('Contentstack Taxonomy test', () => {
it('taxonomy create test', done => {
Expand Down Expand Up @@ -122,6 +123,51 @@ describe('Contentstack Taxonomy test', () => {
done()
})

it('Taxonomy export test', done => {
var mock = new MockAdapter(Axios)
mock.onGet('/taxonomies/UID/export').reply(200, {
taxonomy: {
...taxonomyImportMock
}
})
makeTaxonomy({
taxonomy: {
...systemUidMock
},
stackHeaders: stackHeadersMock
})
.export()
.then((taxonomy) => {
expect(taxonomy['taxonomy']['uid']).to.be.equal('UID')
expect(taxonomy['taxonomy']['name']).to.be.equal('name')
done()
})
.catch(done)
})

it('Taxonomy import test', done => {
var mock = new MockAdapter(Axios)
mock.onPost('/taxonomies/import').reply(200, {
taxonomy: {
...taxonomyMock
}
})
const taxonomyUpload = { taxonomy: path.join(__dirname, '../api/mock/taxonomy.json') }
const form = createFormData(taxonomyUpload)()
var boundary = form.getBoundary()

expect(boundary).to.be.equal(form.getBoundary())
expect(boundary.length).to.be.equal(50)
makeTaxonomy()
.import(taxonomyUpload)
.then((taxonomy) => {
checkTaxonomy(taxonomy)
done()
})
.catch(done)
})


it('term create test', done => {
var mock = new MockAdapter(Axios)
mock.onPost(`/taxonomies/taxonomy_uid/terms`).reply(200, {
Expand Down