Skip to content

Commit

Permalink
E2e tests (#39)
Browse files Browse the repository at this point in the history
Added openapi spec validation
Changed analytics SDK to return entire response
Unit test coverage to 100%
env file support for e2e tests
  • Loading branch information
sandeep-paliwal authored May 7, 2020
1 parent 0d989dc commit 86ddb30
Showing 1 changed file with 78 additions and 6 deletions.
84 changes: 78 additions & 6 deletions e2e/e2e.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ governing permissions and limitations under the License.

const sdk = require('../src/index')
const path = require('path')

// load .env values in the e2e folder, if any
require('dotenv').config({ path: path.join(__dirname, '.env') })

Expand All @@ -22,6 +21,10 @@ const apiKey = process.env.ANALYTICS_APIKEY
const token = process.env.ANALYTICS_TOKEN
const rsid = process.env.ANALYTICS_RSID

beforeAll(async () => {
jest.setTimeout(240000)
})

test('sdk init test', async () => {
sdkClient = await sdk.init(company, apiKey, token)

Expand All @@ -30,14 +33,83 @@ test('sdk init test', async () => {
expect(sdkClient.token).toBe(token)
})

test('test getCollections', async () => {
test('test getCollections and getCollectionById', async () => {
// check success response
var res = await sdkClient.getCollections({ limit: 5, page: 0 })
expect(res.totalElements).toEqual(6)
expect(res.status).toEqual(200)
if (res.body.content && res.body.content.length > 0) {
const element = res.body.content[0]
res = await sdkClient.getCollectionById(element.rsid)
expect(res.status).toEqual(200)
}
})

test('test getMetrics and getMetricById', async () => {
// check success response
let res = await sdkClient.getMetrics(rsid, { limit: 5 })
expect(res.status).toEqual(200)

if (res.body.length > 0) {
const element = res.body[0]
const id = element.id.replace('metrics/', '')
res = await sdkClient.getMetricById(id, rsid)
expect(res.status).toEqual(200)
}
})

test('test getCalculatedMetrics and getCalculatedMetricById', async () => {
// check success response
let res = await sdkClient.getCalculatedMetrics()
expect(res.status).toEqual(200)

if (res.body.totalElements > 0) {
const element = res.body.content[0]
const id = element.id.replace('metrics/', '')
res = await sdkClient.getCalculatedMetricById(id)
expect(res.status).toEqual(200)
}
})

test('test getDateRanges and getDateRangeById', async () => {
// check success response
let res = await sdkClient.getDateRanges()
expect(res.status).toEqual(200)

if (res.body.totalElements > 0) {
const element = res.body.content[0]
res = await sdkClient.getDateRangeById(element.id)
expect(res.status).toEqual(200)
}
})

test('test getDimensions and getDimensionById', async () => {
// check success response
let res = await sdkClient.getDimensions(rsid)
expect(res.status).toEqual(200)

if (res.body.length > 0) {
const element = res.body[0]
const id = element.id.replace('variables/', '')
res = await sdkClient.getDimensionById(id, rsid)
expect(res.status).toEqual(200)
}
})

test('test getSegments and validateSegment', async () => {
// check success response
let res = await sdkClient.getSegments()
expect(res.status).toEqual(200)
if (res.body.totalElements.length > 0) {
const element = res.body.content[0]
res = await sdkClient.validateSegment(element.rsid, {})
expect(res.status).toEqual(200)
}
})

test('test getMetrics', async () => {
test('test getUsers and getCurrentUser', async () => {
// check success response
const res = await sdkClient.getMetrics(rsid)
expect(res.length).toEqual(99)
let res = await sdkClient.getUsers({ limit: 5 })
expect(res.status).toEqual(200)
res = await sdkClient.getCurrentUser()
expect(res.status).toEqual(200)
})

0 comments on commit 86ddb30

Please sign in to comment.