Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor tests #311

Open
wants to merge 30 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
fce2de7
Refactored auth tests
Naapperas Mar 1, 2023
1bde8de
Finished input validation for company application search
Naapperas Mar 28, 2023
456e77a
Fixed wrong validation, refactored some more tests
Naapperas Apr 1, 2023
d262117
Finished company application search tests
Naapperas Apr 2, 2023
97d33e2
Finished refactoring application approval tests
Naapperas Apr 8, 2023
057f58a
Finished refactoring application rejection tests
Naapperas Apr 8, 2023
ce439fa
Moved Schema tests to relevant folder
Naapperas Apr 8, 2023
b751df2
Finished company registration completion tests
Naapperas Apr 10, 2023
d5ac1a2
Re-made GET /company tests
Naapperas Apr 16, 2023
1027297
Finished tests for id company fetching
Naapperas Apr 17, 2023
073dba5
Corrected company deletion tests
Naapperas Apr 23, 2023
d604ea6
Fixed minor bug
Naapperas Apr 23, 2023
3b6b558
Remade company edit tests
Naapperas Apr 24, 2023
5092b35
Cleaned existing company test file
Naapperas Apr 24, 2023
87cd80a
Finished input validation tests for /company/:id/edit
Naapperas Apr 25, 2023
08cd06e
Restructured application finish tests
Naapperas Apr 29, 2023
60cffed
Refactored company unblock tests
Naapperas Apr 29, 2023
a37984a
Refactored company disable tests
Naapperas Jun 19, 2023
17cbe24
Started reworking company enablement tests
Naapperas Jun 20, 2023
01fe2b3
Finished refactoring company enablement tests
Naapperas Jun 20, 2023
e754c88
Started reworking company block tests
Naapperas Jun 20, 2023
cbd8bf8
Fixed errors in company enablement tests
Naapperas Jun 20, 2023
fd7d13e
Finished company blocking tests
Naapperas Jun 20, 2023
cb16da1
Fixed audit issues
Naapperas Jun 21, 2023
5c44361
Made some assertions be more descriptive
Naapperas Jun 21, 2023
0bcd325
Fixed bad cleanup
Naapperas Jun 21, 2023
f23a0e1
Added updates image upload tests for company editing
Naapperas Jun 21, 2023
f010148
Started work on refactoring offer tests
Naapperas Jun 21, 2023
2183a94
Prepared test files
Naapperas Jun 26, 2023
5bd79a6
Updated more tests
Naapperas Nov 29, 2023
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
Empty file modified .dockerignore
100644 → 100755
Empty file.
Empty file modified .env
100644 → 100755
Empty file.
Empty file modified .env.test
100644 → 100755
Empty file.
Empty file modified .eslintrc
100644 → 100755
Empty file.
Empty file modified .github/workflows/ci.yml
100644 → 100755
Empty file.
Empty file modified .gitignore
100644 → 100755
Empty file.
Empty file modified Dockerfile
100644 → 100755
Empty file.
Empty file modified Dockerfile-prod
100644 → 100755
Empty file.
Empty file modified Dockerfile-test
100644 → 100755
Empty file.
Empty file modified LICENSE
100644 → 100755
Empty file.
Empty file modified README.md
100644 → 100755
Empty file.
Empty file modified __mocks__/nodemailer.js
100644 → 100755
Empty file.
Empty file modified babel.config.json
100644 → 100755
Empty file.
Empty file modified certs/.gitignore
100644 → 100755
Empty file.
6 changes: 6 additions & 0 deletions codecov.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
coverage:
status:
project:
default:
target: 80%
threshold: 5%
Empty file modified docker-compose.yml
100644 → 100755
Empty file.
Empty file modified documentation/.gitignore
100644 → 100755
Empty file.
Empty file modified documentation/README.md
100644 → 100755
Empty file.
Empty file modified documentation/babel.config.js
100644 → 100755
Empty file.
Empty file modified documentation/docs-index.js
100644 → 100755
Empty file.
Empty file modified documentation/docs/applications/approve.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/applications/create.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/applications/reject.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/applications/search.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/auth/confirm.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/auth/finish-recovery.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/auth/login.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/auth/logout.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/auth/me.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/auth/recover.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/auth/register.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/companies/block.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/companies/concurrent-offers.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/companies/delete.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/companies/disable.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/companies/enable.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/companies/finish-registration.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/companies/list.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/companies/unblock.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/intro.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/intro/getting-started.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/intro/how-to-docs.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/offers/archive.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/offers/create.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/offers/disable.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/offers/edit.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/offers/enable.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/offers/get-company.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/offers/get.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/offers/hide.md
100644 → 100755
Empty file.
Empty file modified documentation/docs/offers/search.md
100644 → 100755
Empty file.
Empty file modified documentation/docusaurus.config.js
100644 → 100755
Empty file.
Empty file modified documentation/package-lock.json
100644 → 100755
Empty file.
Empty file modified documentation/package.json
100644 → 100755
Empty file.
Empty file modified documentation/src/css/custom.css
100644 → 100755
Empty file.
Empty file modified documentation/src/highlight.js
100644 → 100755
Empty file.
Empty file modified documentation/static/.nojekyll
100644 → 100755
Empty file.
Empty file modified documentation/static/img/favicon.ico
100644 → 100755
Empty file.
Empty file modified documentation/static/img/logo_2018.svg
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified jest.config.js
100644 → 100755
Empty file.
Empty file modified netlify.toml
100644 → 100755
Empty file.
2,185 changes: 1,261 additions & 924 deletions package-lock.json
100644 → 100755

Large diffs are not rendered by default.

Empty file modified package.json
100644 → 100755
Empty file.
Empty file modified src/api/APIErrorTypes.js
100644 → 100755
Empty file.
Empty file modified src/api/index.js
100644 → 100755
Empty file.
Empty file modified src/api/middleware/auth.js
100644 → 100755
Empty file.
Empty file modified src/api/middleware/company.js
100644 → 100755
Empty file.
Empty file modified src/api/middleware/errorHandler.js
100644 → 100755
Empty file.
Empty file modified src/api/middleware/files.js
100644 → 100755
Empty file.
Empty file modified src/api/middleware/offer.js
100644 → 100755
Empty file.
Empty file modified src/api/middleware/utils.js
100644 → 100755
Empty file.
39 changes: 29 additions & 10 deletions src/api/middleware/validators/application.js
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,13 @@ export const reject = useExpressValidators([
.withMessage(ValidationReasons.TOO_SHORT(CompanyApplicationConstants.rejectReason.min_length)),
]);

const isAfterSubmissionDateFrom = (submissionDateTo, { req }) => {

const { submissionDateFrom } = req.query;

return submissionDateFrom <= submissionDateTo;
};

const sortByParamValidator = (val) => {

const regex = /^(\w+(:(desc|asc))?)(,\w+(:(desc|asc))?)*$/;
Expand All @@ -84,31 +91,43 @@ const parseSortByField = (val) => val.split(",");
export const search = useExpressValidators([
query("limit", ValidationReasons.DEFAULT)
.optional()
.isInt({ min: 1, max: MAX_LIMIT_RESULTS })
.withMessage(ValidationReasons.MAX(MAX_LIMIT_RESULTS)),
.isInt().withMessage(ValidationReasons.INT).bail()
.toInt()
/*
Split validation checks in order to provide better error messages.
Another solution would be to return a "compound" error message, aka, one that contains both pieces of information.
The latter could help keep validation chains smaller.
*/
.isInt({ min: 1 }).withMessage(ValidationReasons.MIN(1)).bail()
.isInt({ max: MAX_LIMIT_RESULTS }).withMessage(ValidationReasons.MAX(MAX_LIMIT_RESULTS)).bail()
.toInt(),
query("offset", ValidationReasons.DEFAULT)
.optional()
.isInt({ min: 0 })
.withMessage(ValidationReasons.MIN(0)),
.isInt().withMessage(ValidationReasons.INT).bail()
.toInt()
.isInt({ min: 0 }).withMessage(ValidationReasons.MIN(0)).bail()
.toInt(),
query("companyName", ValidationReasons.DEFAULT)
.optional()
.isString().withMessage(ValidationReasons.STRING),
.isString().withMessage(ValidationReasons.STRING).bail(),
query("state", ValidationReasons.DEFAULT)
.optional()
.customSanitizer(ensureArray)
.isArray().withMessage(ValidationReasons.ARRAY).bail()
.customSanitizer(ensureArray)
.custom(valuesInSet(Object.keys(ApplicationStatus))),
query("submissionDateFrom", ValidationReasons.DEFAULT)
.optional()
.toDate()
.isISO8601().withMessage(ValidationReasons.DATE),
.isISO8601().withMessage(ValidationReasons.DATE).bail()
.toDate(),
query("submissionDateTo", ValidationReasons.DEFAULT)
.optional()
.isISO8601().withMessage(ValidationReasons.DATE).bail()
.toDate()
.isISO8601().withMessage(ValidationReasons.DATE),
.if((_, { req }) => req.query.submissionDateFrom !== undefined)
.custom(isAfterSubmissionDateFrom).withMessage(ValidationReasons.MUST_BE_AFTER("submissionDateFrom")),
query("sortBy", ValidationReasons.DEFAULT)
.optional()
.isString().withMessage(ValidationReasons.STRING)
.isString().withMessage(ValidationReasons.STRING).bail()
.custom(sortByParamValidator)
.customSanitizer(parseSortByField),
]);
Empty file modified src/api/middleware/validators/auth.js
100644 → 100755
Empty file.
11 changes: 8 additions & 3 deletions src/api/middleware/validators/company.js
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ export const MAX_LIMIT_RESULTS = 100;
const DEFAULT_PUBLISH_DATE = new Date(Date.now()).toISOString();

export const finish = useExpressValidators([
/* body("logo", ValidationReasons.DEFAULT)
.exists().withMessage(ValidationReasons.REQUIRED).bail(), */
body("bio", ValidationReasons.DEFAULT)
.exists().withMessage(ValidationReasons.REQUIRED).bail()
.isString().withMessage(ValidationReasons.STRING)
Expand All @@ -25,7 +27,9 @@ export const finish = useExpressValidators([
export const list = useExpressValidators([
query("limit", ValidationReasons.DEFAULT)
.optional()
.isInt({ min: 1, max: MAX_LIMIT_RESULTS })
.isInt({ min: 1 })
.withMessage(ValidationReasons.MIN(1)).bail()
.isInt({ max: MAX_LIMIT_RESULTS })
.withMessage(ValidationReasons.MAX(MAX_LIMIT_RESULTS)),
query("offset", ValidationReasons.DEFAULT)
.optional()
Expand Down Expand Up @@ -126,9 +130,10 @@ export const edit = useExpressValidators([
.withMessage(ValidationReasons.TOO_LONG(CompanyConstants.bio.max_length)),
body("contacts", ValidationReasons.DEFAULT)
.optional()
.customSanitizer(ensureArray)
.isArray().withMessage(ValidationReasons.ARRAY).bail()
.isArray({ min: CompanyConstants.contacts.min_length, max: CompanyConstants.contacts.max_length })
.withMessage(ValidationReasons.ARRAY_SIZE(CompanyConstants.contacts.min_length, CompanyConstants.contacts.max_length)),
.withMessage(ValidationReasons.ARRAY_SIZE(CompanyConstants.contacts.min_length, CompanyConstants.contacts.max_length))
.customSanitizer(ensureArray),
body("logo", ValidationReasons.DEFAULT)
.optional()
.isString().withMessage(ValidationReasons.STRING).bail()
Expand Down
9 changes: 4 additions & 5 deletions src/api/middleware/validators/offer.js
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,6 @@ export const create = useExpressValidators([
.custom(publishEndDateAfterPublishDate)
.custom(publishEndDateLimit),


body("jobMinDuration", ValidationReasons.DEFAULT)
.exists().withMessage(ValidationReasons.REQUIRED).bail()
.isInt().withMessage(ValidationReasons.INT),
Expand Down Expand Up @@ -119,7 +118,7 @@ export const create = useExpressValidators([
body("jobType", ValidationReasons.DEFAULT)
.exists().withMessage(ValidationReasons.REQUIRED).bail()
.isString().withMessage(ValidationReasons.STRING).bail()
.isIn(JobTypes).withMessage(ValidationReasons.IN_ARRAY(JobTypes)),
.isIn(JobTypes).withMessage((value) => ValidationReasons.IN_ARRAY(JobTypes, value)),

body("fields", ValidationReasons.DEFAULT)
.exists().withMessage(ValidationReasons.REQUIRED).bail()
Expand Down Expand Up @@ -388,7 +387,7 @@ export const edit = useExpressValidators([
body("jobType", ValidationReasons.DEFAULT)
.optional()
.isString().withMessage(ValidationReasons.STRING).bail()
.isIn(JobTypes).withMessage(ValidationReasons.IN_ARRAY(JobTypes)),
.isIn(JobTypes).withMessage((value) => ValidationReasons.IN_ARRAY(JobTypes, value)),

body("fields", ValidationReasons.DEFAULT)
.optional()
Expand Down Expand Up @@ -495,7 +494,7 @@ export const get = useExpressValidators([
query("jobType")
.optional()
.isString().withMessage(ValidationReasons.STRING).bail()
.isIn(JobTypes).withMessage(ValidationReasons.IN_ARRAY(JobTypes)),
.isIn(JobTypes).withMessage((value) => ValidationReasons.IN_ARRAY(JobTypes, value)),

query("jobMinDuration", ValidationReasons.DEFAULT)
.optional()
Expand All @@ -522,7 +521,7 @@ export const get = useExpressValidators([
query("sortBy", ValidationReasons.DEFAULT)
.optional()
.isString().withMessage(ValidationReasons.STRING).bail()
.isIn(OfferConstants.SortableFields).withMessage(ValidationReasons.IN_ARRAY(OfferConstants.SortableFields)),
.isIn(OfferConstants.SortableFields).withMessage((value) => ValidationReasons.IN_ARRAY(OfferConstants.SortableFields, value)),

query("descending", ValidationReasons.DEFAULT)
.optional()
Expand Down
Empty file modified src/api/middleware/validators/validationReasons.js
100644 → 100755
Empty file.
Empty file modified src/api/middleware/validators/validatorUtils.js
100644 → 100755
Empty file.
Empty file modified src/api/routes/application.js
100644 → 100755
Empty file.
Empty file modified src/api/routes/auth.js
100644 → 100755
Empty file.
2 changes: 1 addition & 1 deletion src/api/routes/company.js
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import { concurrentOffersNotExceeded } from "../middleware/validators/validatorU

import { or } from "../middleware/utils.js";

import * as fileMiddleware from "../middleware/files.js";
import * as fileMiddleware from "../middleware/files.js";
import OfferService from "../../services/offer.js";
import AccountService from "../../services/account.js";
import Offer from "../../models/Offer.js";
Expand Down
Empty file modified src/api/routes/offer.js
100644 → 100755
Empty file.
Empty file modified src/api/routes/review.js
100644 → 100755
Empty file.
Empty file modified src/config/env.js
100644 → 100755
Empty file.
Empty file modified src/config/multer.js
100644 → 100755
Empty file.
Empty file modified src/config/passport.js
100644 → 100755
Empty file.
Empty file modified src/email-templates/accountManagement.js
100644 → 100755
Empty file.
Empty file modified src/email-templates/approval_notification.handlebars
100644 → 100755
Empty file.
Empty file modified src/email-templates/companyApplicationApproval.js
100644 → 100755
Empty file.
Empty file modified src/email-templates/companyManagement.js
100644 → 100755
Empty file.
Empty file modified src/email-templates/companyOfferDisabled.js
100644 → 100755
Empty file.
Empty file modified src/email-templates/company_blocked_notification.handlebars
100644 → 100755
Empty file.
Empty file modified src/email-templates/company_deleted_notification.handlebars
100644 → 100755
Empty file.
Empty file modified src/email-templates/company_disabled_notification.handlebars
100644 → 100755
Empty file.
Empty file modified src/email-templates/company_enabled_notification.handlebars
100644 → 100755
Empty file.
Empty file modified src/email-templates/company_unblocked_notification.handlebars
100644 → 100755
Empty file.
Empty file modified src/email-templates/layouts/main.handlebars
100644 → 100755
Empty file.
Empty file modified src/email-templates/new_company_application_admins.handlebars
100644 → 100755
Empty file.
Empty file modified src/email-templates/new_company_application_company.handlebars
100644 → 100755
Empty file.
Empty file modified src/email-templates/offer_disabled_notification.handlebars
100644 → 100755
Empty file.
Empty file modified src/email-templates/rejection_notification.handlebars
100644 → 100755
Empty file.
Empty file modified src/email-templates/request_password_recovery.handlebars
100644 → 100755
Empty file.
Empty file modified src/index.js
100644 → 100755
Empty file.
Empty file modified src/lib/emailService.js
100644 → 100755
Empty file.
Empty file modified src/lib/passwordHashing.js
100644 → 100755
Empty file.
Empty file modified src/lib/token.js
100644 → 100755
Empty file.
Empty file modified src/loaders/emailService.js
100644 → 100755
Empty file.
Empty file modified src/loaders/express.js
100644 → 100755
Empty file.
Empty file modified src/loaders/index.js
100644 → 100755
Empty file.
Empty file modified src/loaders/mongoose.js
100644 → 100755
Empty file.
Empty file modified src/loaders/requestEnhancers.js
100644 → 100755
Empty file.
Empty file modified src/loaders/static.js
100644 → 100755
Empty file.
Empty file modified src/models/Account.js
100644 → 100755
Empty file.
Empty file modified src/models/Company.js
100644 → 100755
Empty file.
Empty file modified src/models/CompanyApplication.js
100644 → 100755
Empty file.
15 changes: 0 additions & 15 deletions src/models/ExampleUser.js

This file was deleted.

Empty file modified src/models/Offer.js
100644 → 100755
Empty file.
Empty file modified src/models/Point.js
100644 → 100755
Empty file.
Empty file modified src/models/constants/Account.js
100644 → 100755
Empty file.
Empty file modified src/models/constants/ApplicationStatus.js
100644 → 100755
Empty file.
Empty file modified src/models/constants/Company.js
100644 → 100755
Empty file.
Empty file modified src/models/constants/CompanyApplication.js
100644 → 100755
Empty file.
Empty file modified src/models/constants/FieldTypes.js
100644 → 100755
Empty file.
Empty file modified src/models/constants/JobTypes.js
100644 → 100755
Empty file.
Empty file modified src/models/constants/Offer.js
100644 → 100755
Empty file.
Empty file modified src/models/constants/TechnologyTypes.js
100644 → 100755
Empty file.
Empty file modified src/models/constants/TimeConstants.js
100644 → 100755
Empty file.
Empty file modified src/models/modelUtils.js
100644 → 100755
Empty file.
Empty file modified src/services/account.js
100644 → 100755
Empty file.
Empty file modified src/services/application.js
100644 → 100755
Empty file.
Empty file modified src/services/company.js
100644 → 100755
Empty file.
Empty file modified src/services/offer.js
100644 → 100755
Empty file.
Empty file modified src/setupTests.js
100644 → 100755
Empty file.
Empty file modified test/data/logo-niaefeup-10mb.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified test/data/logo-niaefeup.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified test/data/not-a-logo.txt
100644 → 100755
Empty file.
185 changes: 0 additions & 185 deletions test/end-to-end/application.js

This file was deleted.

Loading