diff --git a/backend/controllers/email.controller.test.js b/backend/controllers/email.controller.test.js index 515a99a59..ecad2417a 100644 --- a/backend/controllers/email.controller.test.js +++ b/backend/controllers/email.controller.test.js @@ -1,8 +1,5 @@ const EmailController = require('./email.controller'); -const { setupDB } = require('../setup-test'); -setupDB('conrtoller-email'); - test('Can import the email controller', async () => { expect(EmailController).not.toBeUndefined(); }); diff --git a/backend/controllers/event.controller.test.js b/backend/controllers/event.controller.test.js index 0c3555f61..bbfe625b5 100644 --- a/backend/controllers/event.controller.test.js +++ b/backend/controllers/event.controller.test.js @@ -1,6 +1,3 @@ -const { setupDB } = require('../setup-test'); -setupDB('event-controller'); - const EventController = require('./event.controller'); test('Can import the email controller', async () => { diff --git a/backend/controllers/project.controller.test.js b/backend/controllers/project.controller.test.js index 47cc470da..180525343 100644 --- a/backend/controllers/project.controller.test.js +++ b/backend/controllers/project.controller.test.js @@ -1,8 +1,5 @@ const ProjectController = require('./project.controller'); -const { setupDB } = require('../setup-test'); -setupDB('project-controller'); - test('Can import the project controller', async () => { expect(ProjectController).not.toBeUndefined(); }); diff --git a/backend/controllers/user.controller.test.js b/backend/controllers/user.controller.test.js index 7d89aa599..fdf59cde1 100644 --- a/backend/controllers/user.controller.test.js +++ b/backend/controllers/user.controller.test.js @@ -1,7 +1,3 @@ -const { setupDB } = require('../setup-test'); -setupDB('conrtoller-user'); - -jest.mock('../models/user.model'); const userContoller = require('./user.controller'); test('Can import the email controller', async () => { diff --git a/backend/models/checkin.test.js b/backend/models/checkin.test.js deleted file mode 100644 index cbb12811e..000000000 --- a/backend/models/checkin.test.js +++ /dev/null @@ -1,23 +0,0 @@ -const { CheckIn } = require('./checkIn.model'); - -const { setupDB } = require("../setup-test"); -setupDB("checkin-model"); - -describe("Checkin Model saves the correct values", () => { - test("Save a model instance and then read from the db", async (done) => { - const submittedCheckinData = { - userId: "1", - eventId: "23", - checkedIn: true, - createdDate: 1594023390039, - }; - - await CheckIn.create(submittedCheckinData); - const savedCheckinDataArray = await CheckIn.find(); - const savedCheckinData = savedCheckinDataArray[0]; - expect(savedCheckinData.userId).toBe(submittedCheckinData.userId); - expect(savedCheckinData.eventId).toBe(submittedCheckinData.eventId); - expect(savedCheckinData.createdDate.getTime()).toBe(submittedCheckinData.createdDate); - done(); - }); -}); diff --git a/backend/models/event.test.js b/backend/models/event.test.js deleted file mode 100644 index 3a5ef54c8..000000000 --- a/backend/models/event.test.js +++ /dev/null @@ -1,50 +0,0 @@ -const { setupDB } = require('../setup-test'); -setupDB("event-model"); - -const { Event } = require('./event.model'); - -describe('CREATE', () => { - test('Can create a complex Event', async (done) => { - const submittedData = { - name: 'eventName', - location: { - // should we include address here? - city: 'Los Angeles', - state: 'California', - country: 'USA', - }, - hacknight: 'Online', // DTLA, Westside, South LA, Online - eventType: 'Workshop', // Project Meeting, Orientation, Workshop - description: 'A workshop to do stuff', - date: 1594023390039, - startTime: 1594023390039, // start date and time of the event - endTime: 1594023390039, // end date and time of the event - hours: 2, // length of the event in hours - createdDate: 1594023390039, // date/time event was created - updatedDate: 1594023390039, // date/time event was last updated - checkInReady: false, // is the event open for check-ins? - owner: { - ownerId: 33, // id of user who created event - }, - }; - - await Event.create(submittedData); - const savedDataArray = await Event.find(); - const savedData = savedDataArray[0]; - expect(savedData.name).toBe( submittedData.name); - expect(savedData.location.city).toBe(submittedData.location.city); - expect(savedData.startTime.getTime()).toBe(submittedData.startTime); - done(); - }); - - test('Can create a simple Event', async (done) => { - const submittedData = { name: 'testEvent' }; - await Event.create(submittedData); - const savedDataArray = await Event.find(); - const savedData = savedDataArray[0]; - expect(savedData.name).toBe('testEvent'); - done(); - }); -}); - -describe('Cannot save simple data', () => {}); diff --git a/backend/models/project.test.js b/backend/models/project.test.js deleted file mode 100644 index 3dba0521d..000000000 --- a/backend/models/project.test.js +++ /dev/null @@ -1,83 +0,0 @@ -const { Project } = require('./project.model'); - -const { setupDB } = require("../setup-test"); - -setupDB("user-model"); - -describe("Project Model saves the correct values", () => { - test("Save a model instance and then read from the db", async (done) => { - const submittedData = { - name: "projectTest", - description: "An instance of a Project model", - githubIdentifier: "VRMS", - projectStatus: "Active", // Active, Completed, or Paused - location: "Remote", // DTLA, Westside, South LA, or Remote (hacknight) - createdDate: 1594023390039, // date/time project was created - completedDate: 1594023390039, // only if Status = Completed, date/time completed - githubUrl: "https://github.com/hackforla/VRMS", // link to main repo - slackUrl: "hackforla.slack.com", // link to Slack channel - }; - - await Project.create(submittedData); - const savedDataArray = await Project.find(); - const savedData = savedDataArray[0]; - expect(savedData.name).toBe(submittedData.name); - expect(savedData.githubIdentifier).toBe(submittedData.githubIdentifier); - expect(savedData.githubUrl).toBe(submittedData.githubUrl); - - - done(); - }); -}); - -describe('CREATE/READ', () => { - test('Create Project with Mongoose model', async (done) => { - const submittedData = { - name: 'projectTest', - }; - - await Project.create(submittedData); - const savedDataArray = await Project.find(); - const savedData = savedDataArray[0]; - expect(savedData.name).toBe(submittedData.name); - done(); - }); -}); - -describe('UPDATE', () => { - test('Update Project with Mongoose model', async (done) => { - const submittedData = { - name: 'projectTest', - }; - - await Project.create(submittedData); - const savedDataArray = await Project.find().exec(); - const savedData = savedDataArray[0]; - expect(savedData.name).toBe(submittedData.name); - - const updatedData = { name: 'updatedEventName' }; - - const updatedProject = await Project.findOneAndUpdate({_id: savedData._id}, updatedData, - {new: true}); - - expect(updatedProject.name).toBe(updatedData.name); - done(); - }); -}); - -describe('DELETE', () => { - test('Delete Project with Mongoose model', async (done) => { - const submittedData = { - name: 'projectTest', - }; - - await Project.create(submittedData); - const savedDataArray = await Project.find().exec(); - const savedData = savedDataArray[0]; - expect(savedData.name).toBe(submittedData.name); - - const deleteData = await Project.deleteOne(submittedData); - expect(deleteData.ok).toBe(1); - done(); - }); -}); diff --git a/backend/models/projectTeamMemer.test.js b/backend/models/projectTeamMemer.test.js deleted file mode 100644 index 85a624dd3..000000000 --- a/backend/models/projectTeamMemer.test.js +++ /dev/null @@ -1,31 +0,0 @@ -const { ProjectTeamMember } = require('./projectTeamMember.model'); - -const { setupDB } = require("../setup-test"); -setupDB("projectTeamMember-model"); - -// Please add and expand on this simple test. -describe("ProjectTeamMember Model saves the correct values", () => { - test("Save a model instance and then read from the db", async (done) => { - const submittedData = { - teamMemberStatus: "Inactive", // Active or Inactive - vrmsProjectAdmin: true, // does this team member have admin rights to the project in VRMS? - roleOnProject: "Developer", // Developer, Project Manager, UX, Data Science - joinedDate: 1594023390039, // date/time joined project - leftDate: 1594023390039, // only if Status = Inactive, date/time went inactive - leftReason: "other", // project completed, project paused, switched projects, no-show, other - githubPermissionLevel: "Write", // Write, Triage, Read, Maintainer, or Admin; pull from Github API? - onProjectGithub: true, // added to the project team on github? pull from github api? - onProjectGoogleDrive: false, // added to the project team's google drive folder? - }; - - await ProjectTeamMember.create(submittedData); - const savedDataArray = await ProjectTeamMember.find(); - const savedData = savedDataArray[0]; - expect(savedData.teamMemberStatus).toBe(submittedData.teamMemberStatus); - expect(savedData.joinedDate.getTime()).toBe(submittedData.joinedDate); - expect( - savedData.githubPermissionLevel).toBe(submittedData.githubPermissionLevel - ); - done(); - }); -}); diff --git a/backend/models/question.test.js b/backend/models/question.test.js deleted file mode 100644 index 0c53b8af0..000000000 --- a/backend/models/question.test.js +++ /dev/null @@ -1,34 +0,0 @@ -const { Question } = require('./question.model'); - -const { setupDB } = require("../setup-test"); -setupDB("question-model"); - -// Please add and expand on this simple test. -describe("Question Model saves the correct values", () => { - test("Save a model instance and then read from the db", async (done) => { - const submittedData = { - questionText: "Is this a test?", - htmlName: "html_name_test", - // inputType: { type: String, default: "text" }, - answers: { - answerOneText: "test answer one", - answerTwoText: "test answer two", - answerThreeText: "test answer three", - answerFourText: "test answer four", - }, - }; - - await Question.create(submittedData); - const savedDataArray = await Question.find(); - const savedData = savedDataArray[0]; - expect(savedData.questionText).toBe(submittedData.questionText); - expect( - savedData.answers.answerOneText).toBe(submittedData.answers.answerOneText - ); - expect( - savedData.answers.answerThreeText).toBe( - submittedData.answers.answerThreeText - ); - done(); - }); -}); diff --git a/backend/models/recurringEvent.test.js b/backend/models/recurringEvent.test.js deleted file mode 100644 index 2975cbd56..000000000 --- a/backend/models/recurringEvent.test.js +++ /dev/null @@ -1,38 +0,0 @@ -const { RecurringEvent } = require('./recurringEvent.model'); - -const { setupDB } = require("../setup-test"); -setupDB("recurringEvent-model"); - -// Please add and expand on this simple test. -describe("Question Model saves the correct values", () => { - test("Save a model instance and then read from the db", async (done) => { - const submittedData = { - name: "testRecurringEvent", - location: { - // should we include address here? - city: "Los Angeles", - state: "California", - country: "USA", - }, - hacknight: "Online", // DTLA, Westside, South LA, Online - brigade: "Hack for LA", - eventType: "Workshop", // Project Meeting, Orientation, Workshop - description: "A test instance", - date: 1594023390039, - startTime: 1594023390039, // start date and time of the event - endTime: 1594023390039, // end date and time of the event - hours: 1594023390039, // length of the event in hours - createdDate: 1594023390039, // date/time event was created - updatedDate: 1594023390039, // date/time event was last updated - checkInReady: true, // is the event open for check-ins? - }; - - await RecurringEvent.create(submittedData); - const savedDataArray = await RecurringEvent.find(); - const savedData = savedDataArray[0]; - expect(savedData.name === submittedData.name); - expect(savedData.location.country === submittedData.location.country); - expect(savedData.description === submittedData.description); - done(); - }); -}); diff --git a/backend/models/user.test.js b/backend/models/user.test.js deleted file mode 100644 index acce39ae1..000000000 --- a/backend/models/user.test.js +++ /dev/null @@ -1,59 +0,0 @@ -const { User } = require('./user.model'); - -const { setupDB } = require("../setup-test"); - -setupDB("user-model"); - -// Please add and expand on this simple test. -describe("Question Model saves the correct values", () => { - test('Save a model instance and then read from the db', async (done) => { - const submittedData = { - name: { - firstName: 'Test', - lastName: 'User', - }, - email: 'test@test.com', - accessLevel: 'user', - createdDate: 1594023390039, - currentRole: 'mage', - desiredRole: 'warlock', - newMember: true, - currentJobTitle: 'freehand artist', - desiredJobTitle: 'textile factory worker', - skillsToMatch: ['marketing assistant'], - firstAttended: 'year 0', - attendanceReason: 'training', - githubHandle: '@testuser', - phone: '867-5309', - textingOk: true, - slackName: 'slacktestuser', - }; - - await User.create(submittedData); - const savedDataArray = await User.find(); - const savedData = savedDataArray[0]; - expect(savedData.name.firstName).toBe(submittedData.name.firstName); - expect(savedData.currentRole).toBe(submittedData.currentRole); - expect(savedData.desiredJobTitle).toBe(submittedData.desiredJobTitle); - done(); - }); - - test('Create a simple user', async (done) => { - // Test Data - const submittedData = { - name: { - firstName: 'test', - lastName: 'user', - }, - email: 'newtest@test.com', - }; - - await User.create(submittedData); - const savedDataArray = await User.find(); - const savedData = savedDataArray[0]; - expect(savedData.name.firstName).toBe(submittedData.name.firstName); - expect(savedData.currentRole).toBe(submittedData.currentRole); - expect(savedData.desiredJobTitle).toBe(submittedData.desiredJobTitle); - done(); - }); -}); diff --git a/backend/setup-test.js b/backend/setup-test.js index 3256e029a..708d8c368 100644 --- a/backend/setup-test.js +++ b/backend/setup-test.js @@ -33,36 +33,6 @@ async function dropAllCollections() { } let mongoServer; module.exports = { - setupDB(databaseName) { - // Connect to Mongoose - beforeAll(async () => { - mongoServer = new MongoMemoryServer({ - instance: { dbName: databaseName }, - }); - const mongoUri = await mongoServer.getUri(); - const opts = { - useNewUrlParser: true, - useFindAndModify: false, - useCreateIndex: true, - useUnifiedTopology: true, - }; - await mongoose.connect(mongoUri, opts, (err) => { - if (err) console.error(err); - }); - }); - - // Cleans up database between each test - afterEach(async () => { - await removeAllCollections(); - }); - - // Disconnect Mongoose - afterAll(async () => { - await dropAllCollections(); - await mongoose.connection.close(); - await mongoServer.stop(); - }); - }, setupIntegrationDB(databaseName) { // Connect to Mongoose beforeAll(async () => {