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

chore: merge v5.8.1 to master #1784

Closed
wants to merge 48 commits into from
Closed

chore: merge v5.8.1 to master #1784

wants to merge 48 commits into from

Conversation

yong-jie
Copy link
Member

@yong-jie yong-jie commented May 4, 2021

No description provided.

mantariksh and others added 30 commits April 20, 2021 14:59
build: merge release 5.7.0 into develop
* refactor(encrypt-submission): changed handler to be an atomic export together wtih validator

* refactor(admin-form/submissions): add api endpoint for submissions/metadata and deprecate old endpt

* test(admin-forms/submission): fixes unit and integration tests for submissions/metadata

* refactor(submissions/client/factory): changed fe callsites to new be api

* refactor(encrypt-submission): inlined validator; reverted pageNum default value
* feat(admin-forms): implement retrieval of form settings

[form]
- augment `FormSchema.getFullFormById()`,
  which will partially populate an IPopulatedForm with specified keys,
  if given
- feed the `fields` argument supplied in the abovementioned fn as
  the projection arg of `Schema.findById()`
- implement `FormSchema.pick()`, allowing one to pick only the fields
  we want out of a given IFormSchema

[auth-service]
- implement `getFormFieldsAfterPermissionChecks()`, exploiting
  type-generic parameters to allow callers to specify the shape
  of the return value
- take care to only return fields specified by the caller

[admin-form]
- declare and implement `handleGetSettings()` in controller and route,
  taking inspiration from `handleUpdateSettings()`
  - import `FORM_SETTING_FIELDS` from form.server.model to specify the
    form setting fields we need

TODO: Unit-testing

* refactor(admin-form): separate auth and form retrieval concerns

- replace `getFormFieldsAfterPermissionChecks()` with the simpler
  `checkFormForPermissions()`, obliging callers to get their own
  form
- apply DRY and replace part of `getFormAfterPermissionChecks()`
  with a call to `checkFormForPermissions()`
- rework `handleGetSettings()` in `admin-form.controller` so that
  it handles form retrieval and returning a concise response
- avoid being clever; instead of specifying only the fields we need
  in the form and potentially saving I/O, just get the entire form
  and use the existing `getSettings()` to return to the caller.
  The resulting simplicity will probably outweigh any savings in
  mongodb I/O we get.
  - we may get a spike in I/O if calls for n parts of a given
    form ends up fetching the entire form n times from db to app.
    In that light...
- leave `FormService.retrieveFormFields()` where it is, in case
  we are proven wrong and we have to be conservative about I/O

TODO: Unit tests

* test: cover for handleGetSettings, retrieveFormFieldsById

Rename `retrieveFormFields()`  to `retrieveFormFieldsById()` to be
consistent with existing methods on FormService

* fix(get-settings): remove spurious typecast

* refactor(form): rename retrieveFormFieldsById to retrieveFormKeysById

* docs(auth): correct jsdoc for checkFormForPermissions

* refactor(form-settings): chain http verbs to route
* refactor(public-forms): moved subroutes out of main publicforms router

realised that public form is getting bloated adn we should not keep every route in the same file but
rather, shard by responsiblity. hence, this (mini) pr is for doign that before starting on auth
router to prevent excess bloat from accumulating

* refactor(public-form/tests): shards tests out also

* style(api): changed folder name to forms instead of public
Bumps [fp-ts](https://github.com/gcanti/fp-ts) from 2.10.3 to 2.10.4.
- [Release notes](https://github.com/gcanti/fp-ts/releases)
- [Changelog](https://github.com/gcanti/fp-ts/blob/master/CHANGELOG.md)
- [Commits](gcanti/fp-ts@2.10.3...2.10.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@sentry/browser](https://github.com/getsentry/sentry-javascript) from 6.2.5 to 6.3.0.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/master/CHANGELOG.md)
- [Commits](getsentry/sentry-javascript@6.2.5...6.3.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [validator](https://github.com/validatorjs/validator.js) from 13.5.2 to 13.6.0.
- [Release notes](https://github.com/validatorjs/validator.js/releases)
- [Changelog](https://github.com/validatorjs/validator.js/blob/13.6.0/CHANGELOG.md)
- [Commits](validatorjs/validator.js@13.5.2...13.6.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.13.10 to 7.13.16.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.13.16/packages/babel-runtime)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.888.0 to 2.889.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](aws/aws-sdk-js@v2.888.0...v2.889.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.13.15 to 7.13.16.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.13.16/packages/babel-core)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@sentry/integrations](https://github.com/getsentry/sentry-javascript) from 6.2.5 to 6.3.0.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/master/CHANGELOG.md)
- [Commits](getsentry/sentry-javascript@6.2.5...6.3.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
#1640)

* feat: add FormField type that is a union for every possible field

* feat: return http 422 status code on EditFieldError instead of 400

* feat(AdminFormService): add updateFormField to update single field

* feat(AdminFormCtl): add handleUpdateFormField fn

* feat(AdminFormRoutes): add PUT endpoint for updating single form field

* feat(AdminFormClientCtl): add specific update field handling in update

* feat: update types of mongo subdocs to allow for DocumentArray

allows for special array methods such as `id()`, `pull()`, etc

* test(AdminForm): update test for invalid field update to return 422

* feat(formUtils): add getFormFieldById helper method

uses DocumentArray#id method if available, else uses Array#find

* test(formUtils): add unit tests for getFormFieldById

* ref: rename admin-forms.build.routes to admin-forms.form.routes

for consistency with #1635

* feat: add Form instance method updateFormFieldById

seems like a better place to for the manipulation of the form instead of in the service directly

* ref(AdminFormSvc): use Form model method in update field service fn

* feat(AdminFormRoutes): strengthen Joi validation for update field

ensures body._id given is the same as the params.fieldId so ids of fields cannot be changed so easily

* feat: add FormFieldDto type for use in update form field handler

* fix(formUtils): fix evaluation of whether array is mongoose doc array

* test(FormModel): add unit tests for updateFormFieldById instance fn

* test(AdminFormSvc): add unit tests for updateFormField fn

* test(AdminFormCtl): add unit tests for handleUpdateFormField

* ref: group joi validation middleware with controller fn in export

* feat: only merge updated field if index of updated field exists

* feat(client): call update field endpoint on updating myinfo fields too

* test(AdminFormCtl): correct name of _handleUpdateFormField in desc

* ref(mongooseUtils): move isMongooseDocumentArray to own util file

* ref(formUtils): remove profane usage of else after return

* ref: convert constants/update-form-types.js to TypeScript

* feat: show error Toast when returned field don't map to current fields
* feat(AdminFormSvc): add dummy createFormField function

* feat(AdminFormCtl): add handleCreateFormField controller and router fn

* feat(FormModel): add insertFormField model instance method

* feat(AdminFormSvc): add and use createFormField service fn

* feat(AdminFormCtl): Joi prevent globalId from being provided

* feat(client): impl createSingleFormField service fn for field creation

* feat(AdminFormCtl): loosen Joi validation required keys

most of the loosened keys have sane defaults already

* fix(AdminFormCtl): remove incorrect fieldId type declaration

* test(AdminFormCtl): add unit tests for _handleCreateFormField fn

* test(AdminFormSvc): add unit tests for createFormField fn

* test(FormModel): add unit tests for insertFormField instance method
…/v3 (#1643)

* refactor(admin-form-api): duplicate adminform form endpoints for /api/v3i

- duplicate and update adminform form related endpoints
- duplicate integration tests for new endpoint
- update v3 router to use new endpoints
- update frontend api calls to use new endpoints

* refactor(admin-form-api): remove unneeded joi-date extension

* refactor(preview-api): duplicate adminform preview endpoints for /api/v3

- duplicate and update adminform preview related endpoints
- duplicate integration tests for new endpoint
- update v3 router to use new endpoints
- update frontend api calls to use new endpoints

* ref(preview-api): remove duplicate user auth middleware from routes

* ref(preview-api): consolidate middleware into controller

- shift validators into admin-form controller
- update handler methods to include middleware as request handler array
- update controller integration tests
- update old routes to use new handler
- update new routes to use new handler
* refactor: v3 delete logic api

* test: integration tests

* chore: use general form model

* refactor: use mongoose $pull operator instead of manual filtering

* chore: return transformMongoError

* refactor: use ObjectId()

* chore: add unit tests

* refactor: default message for LogicNotFoundError

* refactor: shift logic to separate router

* chore: add test case for logicId cannot be found

* chore: reset mock forms in beforeEach

* refactor: FormModel

* refactor: shift tests to admin-forms.logic.routes.spec

* refactor: simplify return of deleteFormLogic

* chore: frontend changes for delete logic api

* chore: simplify

* refactor: use model static method

* chore: use $q to splice only upon success

* refactor: pass in formId string instead of form object

* test: add unit tests for static method

* chore: return form instead of true

* nit: typo

Co-authored-by: Antariksh Mahajan <antarikshmahajan@gmail.com>

* chore: add details to error msg

* chore: add test for multiple logic case

* build: merge conflict

* chore: not send message on logic delete

* chore: add return true for axios

* chore: splice upon promise success

* chore: cast form._id to string

* chore: update tests

Co-authored-by: Antariksh Mahajan <antarikshmahajan@gmail.com>
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.13.16 to 7.13.17.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.13.17/packages/babel-runtime)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: remove useless fields and make others required

* feat: remove logic to store useless fields

* feat: allow data and headers to be empty strings

* test: update tests
* fix(email): remove verified tag for blank fields

* docs: verified prefix should not be added if field is blank
…/v3 (#1644)

* refactor(admin-form-api): duplicate adminform form endpoints for /api/v3i

- duplicate and update adminform form related endpoints
- duplicate integration tests for new endpoint
- update v3 router to use new endpoints
- update frontend api calls to use new endpoints

* refactor(admin-form-api): remove unneeded joi-date extension

* refactor(preview-api): duplicate adminform preview endpoints for /api/v3

- duplicate and update adminform preview related endpoints
- duplicate integration tests for new endpoint
- update v3 router to use new endpoints
- update frontend api calls to use new endpoints

* refactor(preview-api): duplicate adminform presign endpoints for /api/v3

- duplicate and update adminform presigned image/logo endpoints
- duplicate integration tests for new endpoint
- update v3 router to use new endpoints
- update frontend api calls to use new endpoints

* ref(presign-api): remove duplicate user auth middleware from route

* ref(presign-api): consolidate validators into controller

- shift validators into admin-form controller
- update handler methods to include validators as request handler array
- update controller integration tests
- update old routes to use new handler
- update new routes to use new handleri
…dEmailDomains (#1697)

* fix: sync client hasAllowedEmailDomains and allowedEmailDomains states

* fix: watch field.isVerifiable to show relevant tooltip

* feat: add logger to track deprecated updateForm endpoint calls

* fix: sync inconsistent email field states in the backend

* fix: sync email field states in getUpdatedFormFields fn instead

states may desync in the create or update actions

* test(adminFormUtils): add extra tests for syncing of email fields
Now that mongoose properly defines discriminator(), drop our
custom definition of DocumentArray in favour of the official one

- pick up the latest version of mongoose
- go back to casting the return value of `FormSchema.path()` as a
  DocumentArray, as opposed to our custom definition of it
- remove custom definitions of mongoose types, no longer used
chore: merge v5.7.1 into develop
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.10.2 to 3.11.0.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.11.0/packages/core-js)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.889.0 to 2.890.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](aws/aws-sdk-js@v2.889.0...v2.890.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [twilio](https://github.com/twilio/twilio-node) from 3.60.0 to 3.61.0.
- [Release notes](https://github.com/twilio/twilio-node/releases)
- [Changelog](https://github.com/twilio/twilio-node/blob/main/CHANGES.md)
- [Commits](twilio/twilio-node@3.60.0...3.61.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.890.0 to 2.892.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](aws/aws-sdk-js@v2.890.0...v2.892.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [stylelint](https://github.com/stylelint/stylelint) from 13.12.0 to 13.13.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/master/CHANGELOG.md)
- [Commits](stylelint/stylelint@13.12.0...13.13.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [eslint](https://github.com/eslint/eslint) from 7.24.0 to 7.25.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](eslint/eslint@v7.24.0...v7.25.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@sentry/integrations](https://github.com/getsentry/sentry-javascript) from 6.3.0 to 6.3.1.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/master/CHANGELOG.md)
- [Commits](getsentry/sentry-javascript@6.3.0...6.3.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot bot and others added 18 commits April 26, 2021 10:07
…#1720)

Bumps [stylelint-config-standard](https://github.com/stylelint/stylelint-config-standard) from 21.0.0 to 22.0.0.
- [Release notes](https://github.com/stylelint/stylelint-config-standard/releases)
- [Changelog](https://github.com/stylelint/stylelint-config-standard/blob/master/CHANGELOG.md)
- [Commits](stylelint/stylelint-config-standard@21.0.0...22.0.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 8.2.0 to 8.3.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md)
- [Commits](prettier/eslint-config-prettier@v8.2.0...v8.3.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@sentry/browser](https://github.com/getsentry/sentry-javascript) from 6.3.0 to 6.3.1.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/master/CHANGELOG.md)
- [Commits](getsentry/sentry-javascript@6.3.0...6.3.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix: add semicolon and case-insensitivity to error parsing

* test: update test for login page validation

* test: update MyInfo integration test

* test: update SPCP integration tests

* chore: lowercase hardcoded string

Co-authored-by: Kar Rui Lau <karrui.lau@gmail.com>
…1664)

* feat: Add a maximum limit for the number of MyInfo fields that can be added

* Update src/public/modules/forms/admin/directiveViews/edit-form.client.view.html

Co-authored-by: Antariksh Mahajan <antarikshmahajan@gmail.com>

* fixes per mantariksh@'s comments

* move validators to main form model

* Update src/app/models/form.server.model.ts

Co-authored-by: Antariksh Mahajan <antarikshmahajan@gmail.com>

* move validator to form_fields

* Update src/public/modules/forms/admin/directiveViews/edit-form.client.view.html

Co-authored-by: Antariksh Mahajan <antarikshmahajan@gmail.com>

Co-authored-by: Antariksh Mahajan <antarikshmahajan@gmail.com>
)

* docs(myinfo/spcp routes): added deprecation notice on redirects for myinfo/spcp

* style(public-form/form): separated route from middleware in router

* refactor(public-forms/routes): refactored old route for redirect

collapsed middleware functions and all auth types are now inferred from teh db retrieval of the form

* feat(spcp): adds new errors and types for spcp

* feat(spcp/util): add new utility method to check if spcp form is valid

* refactor(auth/controller): adds new controller for redirect and utility method

* refactor(public/services): adds new AuthService for redirect URL

* refactor(directives): replaced MyInfoService's createRedirectUrl with new AuthService

* test(myinfo): fixes flaky my info tests

* fix(auth/controller): fixed imports

* refactor(auth/controller): added more finegrained error handling for auth errors

* fix(public-forms/auth): shifted auth routes into /forms folder

* fix(authservice): removed extra /

* style(submit-form/directive): removed unused variables

* docs(public-forms/auth): fixed docs

* fix(submit-form.directive): fixed bug where fields disappeared due to a directive

apparently angularJS still has the directive registered even if it's unused and this means that it
bugs...

* refactor(spcp-redirect): removed unused file

* style(auth/controller): removed console log

* refactor(auth): changed isPersistentLogin to be a required parameter

* style(spcp/types): fixed casign

* style(services/authservice): renamed to publicFormAuthService

* refactor(public-form): shifted handleFormAuthRedirect from auth to public forms

* refactor(maprouteerror): shifted mapRedirectUrlErrors in auth utils to mapRouteError in public form

* style(spcp/types): absolute imports changed to relative imports

* refactor(form/errors): added new error types for auth mismatch and no esrvcId

* refactor(myinfo): updated to use new types and typeguards

removed old myinfo specific type and used general types instead; added a typeguard rather than
casting to preserve information in teh typesystem that would otherwise be lost

* refactor(spcp): refactored to ues new types and typeguards

* refactor(public-form/utils): added utility method and additional mapFormAuthRedirectError

adds utility method so business logic for generating endpoint isn't seen by controller. added
separate handler for mapping application errors back to http errors for redirection because it is
sufficiently different from teh normal flow

* test(public-form/controller/test): fixed tests due to refactors

* refactor(submit-form/directive): removed authtype and changed rememberMe to isPersistentLogin

* chore(myinfoservice): delete unused code

* style(auth): updated naming of RedirectDto to be more specific; updated consumers

* docs(form/errors; myinfo; public-form/controllers): made variables more descriptive; updated docs
* feat: log client form reCAPTCHA failure to GA

* feat: pass in form for logging recaptcha GTag error

Co-authored-by: Kar Rui Lau <karrui.lau@gmail.com>
Bumps [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) from 24.3.5 to 24.3.6.
- [Release notes](https://github.com/jest-community/eslint-plugin-jest/releases)
- [Changelog](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md)
- [Commits](jest-community/eslint-plugin-jest@v24.3.5...v24.3.6)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 26.0.22 to 26.0.23.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: add ExtractTypeFromArray type and use in immutableArrayFns

used to improve typings from types that may extend from arrays even if they are not primitive arrays

* feat(FormModel): add reorderFormFieldById instance method

* feat(AdminFormSvc): add reorderFormField service function

* feat(AdminFormCtl): add handleReorderFormField controller handler fn

* feat(AdminFormRoutes): add route for reordering form field

* feat(client): add reorderSingleFormField client service fn

* feat(client): call new reorder field endpoint

* ref: move immutable-array-fns to /shared directory

frontend seems to need it too :(

* feat: rollback form fields if reordering encounters error

* test(FormModel): add tests for reorderFormFieldById

* test(AdminFormSvc): add unit tests for reorderFormField

* test(AdminFormCtl): add unit tests for _handleReorderFormField

* feat(FormModel): add return type to reorderFormFieldById declaration

* test(FormModel): add test case for when reorder pos >> array length
* fix: show correct error message

Error messages were showing up incorrectly due to incorrect accessing
of keys in the error object. The fix was to access the correct keys.

* fix: change push to assignment

This triggers the AngularJS digest cycle correctly, which updates the
count of MyInfo fields correctly.
* feat: add prefill toggle to short text field

* feat: display fieldID on edit field modal

* feat: field id copy functionality

* feat: show Field ID only when prefill enabled

* feat: prefill warning banner on submit form page

* feat: msg to inform user that field id is generated after field saved

* style: define prefill highlight in css and use ng-class

* feat: show prefill warning only if field isVisible and monitor using scope.$watch

* chore: use data-clipboard-target instead of text

* style: add cursor for prefill icon

* style: field id input

* style: cursor for pull-right
* test(auth/controller): adds unit tests for getRedirectLink

* test(public-forms/auth): adds integration tests

* test(auth/controller): fixed type errors

* test(authservice/test): adds auth service test

* refactor(tests): fixed renaming of files and ported over redirect tests to public form controller

* test(public-form/controller/tests): added additional tests for /redirect endpoint, shifted const out

* docs(publicformauthservice/test): adds arrange act assert blcoks

* chore(auth/controller/spec): removed outdated forms from shifting redirect to publci-forms

* test(public-form): updated tests

* chore(public-form/controller/test): updated types in tests

* chore(public-form/controller/tests): updated typings

* test(public-forms/auth/routes): added stronger validation to integration test for external libraries

* docs(public-forms/auth/routes/spec): fixed test description having wrong http method

* style(public-forms/auth/routes): merged assertions into single block
* fix: convert form field responses into class counterparts

this fixes a bug where the Field class methods were being invoked on some fields and failing due to the field being a pure object without injected class methods

* fix: remove myinfo field info before saving myinfo field

* fix: inject myinfo field info in case retrieved field is myinfo field
mantariksh
mantariksh previously approved these changes May 4, 2021
@mantariksh mantariksh dismissed their stale review May 4, 2021 06:27

wrong branch being merged

Copy link
Contributor

@mantariksh mantariksh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yo the branch is wrong - this branch is @tshuli's fix for prefill, we need the branch called release-v5.8.0

@mantariksh
Copy link
Contributor

@tshuli to prevent such confusion in future, can we reserve release-* branch names for release candidates pls?

@yong-jie yong-jie closed this May 4, 2021
@mantariksh mantariksh deleted the release-v5.8.1-hotfix branch May 4, 2021 07:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants