Skip to content
Snippets Groups Projects
Commit 3515ad79 authored by arcter's avatar arcter
Browse files

news's mentortest (create,update, delete)

parent 3e6c2a86
No related branches found
No related tags found
3 merge requests!20working endpoints and documentation,!19update refactoring branch to dev,!15tests from arcter
Pipeline #4675 failed
...@@ -15,6 +15,7 @@ const fakeUserJson = { ...@@ -15,6 +15,7 @@ const fakeUserJson = {
let fakeNewsJson={ let fakeNewsJson={
title:'A legjobb hír', title:'A legjobb hír',
body:'A legjobb hír ever man!', body:'A legjobb hír ever man!',
creator:'fakeUSer'
} }
const defaultKeys={ const defaultKeys={
_id:true, _id:true,
...@@ -32,113 +33,82 @@ let fakeNewsJson={ ...@@ -32,113 +33,82 @@ let fakeNewsJson={
if (err) return done(err) if (err) return done(err)
authSession = testSession authSession = testSession
return done() return done()
}) })})
//readone //readone
test(`GET existing news`, async () => { test(`GET existing news`, async () => {
const newNews = await News.create(fakeNewsJson) const newNews = await News.create(fakeNewsJson)
let response = await authSession.get(`${endpointUrl}/${newNews._id}`) let response = await authSession.get(`${endpointUrl}/${newNews._id}`)
expect(response.statusCode).toBe(200) expect(response.statusCode).toBe(200)
}) })
test(`GET invalid ID`, async () => { test('GET invalid news',async()=>{
let response=await authSession.get(`${endpointUrl}/almafa`) let response=await authSession.get(`${endpointUrl}/almafa`)
expect(response.statusCode).toBe(422)
expect(response.statusCode).toBe(422)})
//readall
test(`GET many`, async () => {
const newUser1 = await User.create(fakeUserJson)
const newUser2 = await User.create(fakeUserJson)
await News.create(
Object.assign({}, fakeNewsJson, {
creator: newUser1._id,
}) })
) // Get Many
await News.create( test(`GET many returns with allowed keys`, async () => {
Object.assign({}, fakeNewsJson, { await News.create(fakeNewsJson)
creator: newUser2._id, await News.create(fakeNewsJson)
}) let response = await authSession.get(endpointUrl)
)
let response = await authSession.get(`${endpointUrl}`)
expect(response.statusCode).toBe(200) expect(response.statusCode).toBe(200)
expect(response.body.data.length).toBe(2)
response.body.data.forEach((eachData) => { response.body.data.forEach((eachData) => {
validateKeys(eachData, defaultKeys) validateKeys(eachData, defaultKeys)
}) })})
})
// Create // Create
test(`Create returns with allowed keys`, async () => { test(`Create news`, async () => {
let response = await authSession.post(endpointUrl).send(fakeNewsJson) const ownUser = await authSession.get('/api/v1/extra/me')
expect(response.statusCode).toBe(201)
validateKeys(response.body.data, defaultKeys)
})
// Delete
test(`Delete returns with allowed keys`, async () => {
const newNews = await News.create(fakeNewsJson) const newNews = await News.create(fakeNewsJson)
let response = await authSession.delete(`${endpointUrl}/${newNews._id}`) let response =await authSession.post(`${endpointUrl}/`).send({
expect(response.statusCode).toBe(200) title:newNews.title,
body:newNews.body,
creator:newNews.creator,
})
expect(response.statusCode).toBe(201)
validateKeys(response.body.data, defaultKeys) validateKeys(response.body.data, defaultKeys)
}) })
//Update //Update
test(`Update returns with allowed keys`, async () => { test(`Update news`,async()=>{
const newNews=await News.create(fakeNewsJson) const newNews=await News.create(fakeNewsJson)
let response=await authSession let response=await authSession
.put(`${endpointUrl}/${newNews._id}`).send({ .put(`${endpointUrl}/${newNews._id}`)
title: 'almafa', .send({
title:'updatedtitle',
}) })
expect(response.statusCode).toBe(200) expect(response.statusCode).toBe(200)
expect(response.body.data.title).toBe('almafa') expect(response.body.data.title).toBe('updatedtitle')
}) })
}) })
//
})
//Nem számít az ,hogy melyikkel teszteled mert mind2nak ugyan olyannak kell lennie.
//normal=accepted
describe('/news "Accepted" Functionality',()=>{ describe('/news "Accepted" Functionality',()=>{
let authSession let authSession
// Login as accepted and create a group // Login as accepted
beforeEach(async function (done) { beforeEach(async function (done) {
let testSession = session(app) let testSession = session(app)
testSession.get(`/api/v1/login/mock/accepted`).end(function (err) { testSession.get(`/api/v1/login/mock/accepted`).end(function (err) {
if (err) return done(err) if (err) return done(err)
authSession = testSession authSession = testSession
return done() return done()
}) })})
})
//readone //readone
test(`GET existing news`, async () => { test(`GET existing news`, async () => {
const newNews = await News.create(fakeNewsJson) const newNews = await News.create(fakeNewsJson)
let response = await authSession.get(`${endpointUrl}/${newNews._id}`) let response = await authSession.get(`${endpointUrl}/${newNews._id}`)
expect(response.statusCode).toBe(200) expect(response.statusCode).toBe(200)
}) })
test(`GET invalid ID`, async () => { test('GET invalid news',async()=>{
let response=await authSession.get(`${endpointUrl}/almafa`) let response=await authSession.get(`${endpointUrl}/almafa`)
expect(response.statusCode).toBe(422)
expect(response.statusCode).toBe(422)})
//readall
test(`GET many`, async () => {
const newUser1 = await User.create(fakeUserJson)
const newUser2 = await User.create(fakeUserJson)
await News.create(
Object.assign({}, fakeNewsJson, {
creator: newUser1._id,
})
)
await News.create(
Object.assign({}, fakeNewsJson, {
creator: newUser2._id,
}) })
) // Get Many
let response = await authSession.get(`${endpointUrl}`) test(`GET many returns with allowed keys`, async () => {
await News.create(fakeNewsJson)
await News.create(fakeNewsJson)
let response = await authSession.get(endpointUrl)
expect(response.statusCode).toBe(200) expect(response.statusCode).toBe(200)
expect(response.body.data.length).toBe(2)
response.body.data.forEach((eachData) => { response.body.data.forEach((eachData) => {
validateKeys(eachData, defaultKeys) validateKeys(eachData, defaultKeys)
}) })
}) })
}) })
//
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment