SciCatProject / frontend

SciCat open data catalogue web client
https://scicatproject.github.io
BSD 3-Clause "New" or "Revised" License
24 stars 29 forks source link

chore(deps): bump luxon from 3.4.4 to 3.5.0 #1548

Closed dependabot[bot] closed 2 months ago

dependabot[bot] commented 3 months ago

Bumps luxon from 3.4.4 to 3.5.0.

Changelog

Sourced from luxon's changelog.

3.5.0 (2024-08-03)

  • Various performance improvements
  • throwOnInvalid causes the constructor to throw if the year is invalid
Commits


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
sonarcloud[bot] commented 2 months ago

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code

See analysis details on SonarCloud

github-actions[bot] commented 2 months ago

Coverage after merging dependabot/npm_and_yarn/luxon-3.5.0 into master

79.77%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
src/app
   app-config.module.ts100%100%100%100%
   app-config.service.ts73.91%100%83.33%66.67%30–32, 35, 7
   app-theme.service.ts88.24%100%100%83.33%19–20
   app.component.ts42.86%16.67%42.86%51.35%27–28, 42–46, 46, 46–47, 49, 52, 52, 52, 52, 52–54, 54, 54, 56–57, 60–61, 64, 68, 73, 79
   theme.ts100%100%100%100%
src/app/_layout/app-header
   app-header.component.ts75.68%50%80%83.33%21–22, 34, 34, 34–36, 40
src/app/_layout/app-layout
   app-layout.component.ts100%100%100%100%
src/app/_layout/app-main-layout
   app-main-layout.component.ts100%100%100%100%
src/app/about/about
   about.component.ts97.92%87.50%100%100%26
src/app/datasets
   archiving.service.ts54.05%28.57%83.33%64.71%16, 32, 37–38, 38, 38–40, 40, 40, 40, 40–41, 43, 43, 43–44, 46–47, 57–58, 60–61, 61, 64–65, 65, 65–66, 70, 73, 75
   datasets.module.ts100%100%100%100%
src/app/datasets/add-dataset-dialog
   add-dataset-dialog.component.ts100%100%100%100%
src/app/datasets/admin-tab
   admin-tab.component.ts45.10%20%77.78%43.75%21, 27–28, 32, 32, 32, 32, 32–39, 43–45, 45, 45–47, 50–53
src/app/datasets/batch-card
   batch-card.component.ts87.50%50%87.50%92.86%21–22
   batch-card.module.ts100%100%100%100%
src/app/datasets/batch-view
   batch-view.component.ts30.95%3.13%32.14%43.94%100–101, 101, 101, 104, 109–111, 120–124, 124, 124, 124, 124–127, 140–141, 146, 42, 45–46, 46, 46–47, 57, 57, 57–58, 58, 58, 60, 60, 60–61, 61, 61, 63–64, 66–67, 67, 67–68, 68, 72, 80–81, 81, 81, 81, 81–82, 84, 84, 84, 84, 84, 84, 84, 87, 89, 95, 99
src/app/datasets/dashboard
   dashboard.component.ts73.28%50%68.75%81.01%130, 132–134, 139, 142, 142, 142–143, 147, 147, 147–148, 152–153, 156, 156, 156–158, 31, 36, 42, 67, 81
src/app/datasets/dashboard/full-text-search
   full-text-search-bar.component.ts10.81%100%0%14.81%19–25, 28–29, 32–34, 36–37, 40–42, 46, 49, 52–54, 57
src/app/datasets/datablocks-table
   datablocks-table.component.ts81.82%100%66.67%87.50%13
src/app/datasets/datafiles
   datafiles.component.ts70.56%64.29%77.14%70.09%154, 161–167, 170–173, 181, 181, 181–183, 185, 185, 185–189, 193, 200, 204–205, 205, 205–207, 218–219, 224, 71–76, 85–86, 91–92
src/app/datasets/datafiles-actions
   datafiles-action.component.ts87.65%80%85.71%90.38%18, 34–35, 49–50, 50, 50–51
   datafiles-actions.component.ts91.67%75%100%100%22, 26
src/app/datasets/dataset-detail
   dataset-detail.component.ts76.44%67.86%71.88%81.67%127, 127, 132, 146, 167, 190, 201, 212, 219, 226, 234–246, 42, 42, 61, 63–64, 64, 72, 75, 79, 79, 79–80, 84, 84, 84–85, 98
src/app/datasets/dataset-details-dashboard
   dataset-details-dashboard.component.ts53.69%28.85%66.67%67.09%116, 116, 116, 124, 124, 124, 132, 132, 144, 144, 152, 152, 152–153, 163–164, 168, 171, 171, 171–172, 174, 174, 174, 177–178, 178, 178–180, 183, 185–186, 186, 186–188, 195–196, 196–197, 204, 204–205, 207, 207, 209, 66, 70–71, 73–74, 79, 79, 79, 84–85, 85, 85–87, 98, 98
src/app/datasets/dataset-file-uploader
   dataset-file-uploader.component.ts90%58.33%100%100%22, 28, 37, 49, 58
src/app/datasets/dataset-lifecycle
   dataset-lifecycle.component.ts84.81%66.67%92.31%88.24%46, 58, 63, 93–94, 94, 94–98
src/app/datasets/dataset-table
   dataset-table.component.ts64.43%51.16%60%73.68%127–128, 147–148, 151, 153, 155, 160–161, 161, 161, 175–176, 176, 176–180, 43, 43, 43, 43, 43, 43, 43, 49, 51, 54, 54, 54, 54, 54, 54, 54, 60, 62, 86, 89, 92–93
src/app/datasets/dataset-table-actions
   dataset-table-actions.component.ts49.32%0%45%62.79%105, 108, 111, 111, 111–112, 59, 63–64, 64, 64, 64, 64–65, 80–84, 84, 84, 84, 84–87
src/app/datasets/dataset-table-settings
   dataset-table-settings.component.ts100%100%100%100%
src/app/datasets/datasets-filter
   datasets-filter.component.ts95.83%50%90%100%73
src/app/datasets/datasets-filter/settings
   datasets-filter-settings.component.ts45.90%25%41.67%51.22%102, 105, 36, 47–48, 52, 61, 61, 61–63, 67–68, 74, 83–85, 85, 85–87, 90–91, 93, 96, 99
src/app/datasets/jsonScientificMetadata
   jsonScientificMetadata.component.ts17.65%100%0%21.43%10–19, 22
src/app/datasets/public-download-dialog
   public-download-dialog.component.ts58.33%33.33%80%61.54%16, 20, 23, 23, 23–24, 26, 29–30
src/app/datasets/publish
   publish.component.ts60.32%53.13%57.89%64%101, 108, 122–123, 126–127, 138–153, 50, 50, 53, 59, 64, 64, 64, 64, 64–65, 67, 67, 67–68, 72–73, 73, 73–74, 94
src/app/datasets/reduce
   reduce.component.ts52.86%16.67%42.86%62.79%21–23, 61, 64, 67, 71–72, 72, 72–73, 77, 83–84, 84, 84–89
src/app/datasets/related-datasets
   related-datasets.component.ts88.89%50%85.71%94.44%63–64
src/app/datasets/sample-edit
   sample-edit.component.ts92.96%83.33%90%95.56%52–53, 64
src/app/datasets/share-dialog
   share-dialog.component.ts89.58%87.50%88.89%90.32%31–34
src/app/files/files-dashboard
   files-dashboard.component.ts86.67%100%75%90.91%85
src/app/help/help
   help.component.ts100%100%100%100%
src/app/instruments/instrument-details
   instrument-details.component.ts84.85%50%88.89%90%31, 31, 31–32
src/app/instruments/instruments-dashboard
   instruments-dashboard.component.ts92%100%87.50%94.12%18
src/app/jobs/jobs-dashboard
   jobs-dashboard.component.ts53.68%18.75%66.67%59.02%102, 102, 102, 102, 104–105, 108–109, 112, 115–116, 121, 124, 124, 124–126, 126, 126–128, 128, 128–130, 132, 136, 141, 53, 65, 65, 65, 67–68, 71–72, 78, 88
src/app/jobs/jobs-dashboard-new
   jobs-dashboard-new.component.ts94.12%100%80%100%
src/app/jobs/jobs-detail
   jobs-detail.component.ts100%100%100%100%
src/app/logbooks
   logbooks.module.ts100%100%100%100%
src/app/logbooks/logbook-filter
   logbook-filter.component.ts86.79%77.78%100%90.63%20–21, 39, 41, 55, 60, 74
src/app/logbooks/logbooks-dashboard
   logbooks-dashboard.component.ts85.07%37.50%88.24%92.86%36, 61, 63, 63, 63–64, 68, 75
src/app/logbooks/logbooks-detail
   logbooks-detail.component.ts100%100%100%100%
src/app/logbooks/logbooks-table
   logbooks-table.component.ts100%100%100%100%
src/app/policies/edit-dialog
   edit-dialog.component.ts19.64%11.90%28.57%23.21%100, 104–105, 105, 105–106, 110–111, 111, 111–112, 119, 124, 124, 124–125, 127, 127, 127–128, 130, 130, 130–131, 133–135, 135, 135–136, 139, 142, 18–20, 62, 62, 62, 62, 62, 65–67, 67, 67, 67, 67–68, 71, 71, 71–72, 76–78, 78, 78, 78, 78–79, 82, 82, 82–83, 87–89, 89, 89, 89, 89–90, 93, 93, 93–94, 98–99, 99, 99
src/app/policies/policies-dashboard
   policies-dashboard.component.ts80.61%64.71%85.71%83.33%134–138, 143–144, 154, 158, 158, 158, 161, 57, 67, 74, 83
src/app/proposals
   proposals.module.ts100%100%100%100%
src/app/proposals/proposal-dashboard
   proposal-dashboard.component.ts85%100%80%86.67%83–84
src/app/proposals/proposal-detail
   proposal-detail.component.ts100%100%100%100%
src/app/proposals/proposal-filter
   proposal-filter.component.ts100%100%100%100%
src/app/proposals/proposal-logbook
   proposal-logbook.component.ts92.11%50%90.91%96%19, 43
src/app/proposals/view-proposal-page
   view-proposal-page.component.ts86.54%50%83.33%91.67%68, 68, 68–69, 78
src/app/publisheddata/publisheddata-dashboard
   publisheddata-dashboard.component.ts96.49%100%90%97.67%117
src/app/publisheddata/publisheddata-details
   publisheddata-details.component.ts75.61%50%70%81.48%32, 34–35, 45, 48–49, 52
src/app/publisheddata/publisheddata-edit
   publisheddata-edit.component.ts67.44%46.15%76.47%76.74%42–43, 46, 51, 56–57, 60, 65, 70, 70, 70–72, 72, 72–73, 78–79, 79, 79–81, 85, 88
src/app/samples/sample-dashboard
   sample-dashboard.component.ts65.85%37.50%62.50%72%101, 103–104, 109, 112, 43, 63, 69, 69, 69–72, 77, 83–84, 95, 98–99
src/app/samples/sample-detail
   sample-detail.component.ts67.78%16.67%70%77.59%104, 104, 104–106, 106, 106–107, 110, 110, 110–111, 116, 116, 116–117, 121, 124, 124, 124–125, 135, 138
src/app/samples/sample-dialog
   sample-dialog.component.ts50.98%33.33%77.78%47.22%29–32, 35–37, 40, 44, 44, 44–45, 47–52, 55, 59–60, 64–65
src/app/shared
   MockStubs.ts48.82%27.27%39.62%60.32%10, 110, 116, 121, 13, 131, 147, 150–151, 16, 176, 188–189, 19, 196, 200–201, 201, 201, 205, 209, 209, 209, 213, 216, 219, 27, 32, 35, 38, 41, 81, 91
   shared.module.ts100%100%100%100%
src/app/shared/modules/breadcrumb
   breadcrumb.component.ts26.76%0%31.25%31.82%100–101, 108, 110, 128, 128, 128, 128, 128, 128, 128, 128, 130, 132, 137, 142, 157, 172, 180, 33, 43–44, 48–49, 51–52, 59, 71–72, 72, 72–73, 75, 86–88, 91, 91, 91–92, 96
   breadcrumb.module.ts100%100%100%100%
src/app/shared/modules/dialog
   dialog.component.ts77.78%100%66.67%83.33%12
   dialog.module.ts100%100%100%100%
src/app/shared/modules/error-page
   error-page.component.ts68%50%75%73.33%17–18, 21, 21–24
   error-page.module.ts100%100%100%100%
src/app/shared/modules/file-uploader
   file-uploader.component.ts49.15%7.14%75%59.46%15, 48–49, 49, 49–50, 52–53, 53, 53, 53, 53–54, 56, 59–60, 60, 60–61, 63–65, 65, 65–66, 68, 68, 68
   file-uploader.module.ts100%100%100%100%
src/app/shared/modules/file-uploader/directives
   drag-and-drop.directive.ts24%0%25%29.41%10–11, 14–16, 19–22, 22, 22, 25, 25, 25–26, 9
src/app/shared/modules/filters
   clearable-input.component.ts75%50%100%80%6–7
   condition-filter.component.ts14.81%0%0%23.53%11–13, 13, 13, 13, 13, 13, 16–17, 19–20, 22–23, 25, 27, 27, 27, 30, 8
   date-range-filter.component.ts94.74%91.67%100%95.24%42–43
   filters.module.ts100%100%100%100%
   group-filter.component.ts100%100%100%100%
   keyword-filter.component.ts100%100%100%100%
   location-filter.component.ts96.15%50%100%100%26
   pid-filter-contains.component.ts100%100%100%100%
   pid-filter-startsWith.component.ts100%100%100%100%
   pid-filter.component.ts91.18%50%100%95.45%24, 45–46
   text-filter.component.ts100%100%100%100%
   type-filter.component.ts100%100%100%100%
   utils.ts68%40%83.33%88.89%13, 32, 5, 8, 8, 8, 8
src/app/shared/modules/scientific-metadata
   scientific-metadata.module.ts100%100%100%100%
src/app/shared/modules/scientific-metadata-tree
   scientific-metadata-tree.modules.ts100%100%100%100%
src/app/shared/modules/scientific-metadata-tree/base-classes
   history-manager.ts81.08%50%77.78%87.50%20, 28, 41, 44–45
   metadata-input-base.ts90.16%94.59%82.35%89.71%101, 114, 117, 127, 90–94
   tree-base.ts86.15%85.48%83.87%87.25%117, 124–125, 125, 125–126, 129, 32, 32–33, 51–53, 53, 53–54, 57, 64, 75–77, 79
src/app/shared/modules/scientific-metadata-tree/metadata-input
   metadata-input.component.ts97.30%87.50%100%100%51, 85
src/app/shared/modules/scientific-metadata-tree/metadata-input-modal
   metadata-input-modal.component.ts61.90%0%66.67%69.23%38–39, 43, 43, 46, 49
src/app/shared/modules/scientific-metadata-tree/tree-edit
   tree-edit.component.ts78.85%80%75.86%78.98%135–136, 146–147, 157, 160, 162–165, 173, 179, 225, 256, 259–263, 266, 270–271, 271, 271–283, 285, 288, 291, 63–64, 64, 64–69
src/app/shared/modules/scientific-metadata-tree/tree-view
   tree-view.component.ts73.81%33.33%80%80.65%14, 14, 39–40, 40, 40–44
src/app/shared/modules/scientific-metadata/metadata-edit
   metadata-edit.component.ts80.23%72.92%85.29%82.22%104–105, 161–162, 181–182, 182, 182, 185–186, 186, 186, 202–203, 205, 215, 215, 215–216, 218–219, 219, 219–221, 224, 70, 77–78
src/app/shared/modules/scientific-metadata/metadata-view
   metadata-view.component.ts84.31%78.57%85.71%86.67%52, 57–58, 58, 58–60
src/app/shared/modules/search-bar
   search-bar.component.ts92.86%75%100%94.44%32–33
   search-bar.module.ts100%100%100%100%
src/app/shared/modules/search-parameters-dialog
   search-parameters-dialog.component.ts90.91%90.91%75%95.35%39, 69–70, 74
   search-parameters-dialog.module.ts100%100%100%100%
src/app/shared/modules/shared-table
   shared-table.component.ts70.37%64.71%66.67%73.76%139–142, 167, 167, 167–168, 171–172, 175, 178–179, 183, 186, 189, 189, 189, 192–194, 194, 194, 196, 200, 205, 208, 214–216, 219–220, 241, 241–242, 242, 242–243, 252, 283–284, 295, 298, 302, 45, 51–52, 84, 87–90, 92–94
   shared-table.module.ts100%100%100%100%
src/app/shared/modules/table
   table.component.ts89.83%60%91.67%97.30%33, 37, 50, 53, 57
   table.module.ts100%100%100%100%
src/app/shared/pipes
   description-title.pipe.ts28.57%0%0%50%5–6, 6, 6
   dynamicPipe.pipe.ts76.92%50%66.67%87.50%8–9
   file-path-truncate.pipe.ts87.50%50%100%100%7
   filesize.pipe.ts100%100%100%100%
   format-number.pipe.ts100%100%100%100%
   json-head.pipe.ts4.65%0%0%7.14%10–14, 14, 14–15, 18–21, 21, 21–22, 24–25, 25, 25–27, 27, 27–28, 32–33, 35–36, 36–37, 37, 37–38, 40, 5, 5, 5–6, 8–9
   newDynamicPipe.pipe.ts22.50%16%66.67%23.08%19–20, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 27–28, 30–31, 33–34, 36–37, 39–40, 42–43, 45–46, 48–49, 51–52, 54–55, 57–58, 60–61, 63–64, 66–67, 69–70, 72–73, 75–76, 78–79, 84, 84, 84–86
   obj-keys.pipe.ts78.57%50%100%88.89%20–21, 25
   pipes.module.ts100%100%100%100%
   pretty-unit.pipe.ts90.91%50%100%100%10
   replace-underscore.pipe.ts33.33%0%0%66.67%5, 5, 5
   stripProposalPrefix.pipe.ts100%100%100%100%
   thumbnail.pipe.ts13.64%0%0%23.08%10–11, 11, 11–12, 14, 14, 14–15, 17, 17, 17–18, 20, 6, 9
   title-case.pipe.ts100%100%100%100%
src/app/shared/services
   config.service.ts33.33%0%33.33%38.46%25–26, 29, 29, 29–31, 34–35, 40
   date-time.service.ts93.10%92.86%100%92.31%15, 9
   export-excel.service.ts11.32%100%33.33%8.51%102, 104–105, 111, 113–114, 117, 12–16, 18–19, 21–22, 24–27, 34, 36–41, 46, 55–58, 65, 67, 69–71, 73–75, 81, 88–89
   index.ts100%100%100%100%
   ownership.service.ts50%25%75%66.67%11, 14–15, 15, 15–17, 17, 17, 17, 17–18, 8
   scicat-data-service.ts29.69%18.18%55.56%35.94%116–117, 124–125, 13, 130, 130, 146–147, 152, 152, 18, 18, 18–20, 20, 20–21, 23, 23, 23–24, 26, 28, 28, 28–29, 29, 29, 29, 29, 29, 29, 29, 31–32, 35–36, 39–40, 43–44, 49, 49, 49–50, 52, 52, 52–54, 56, 56, 56–57, 60, 62, 65–66, 69–70, 74, 74, 74–75, 82, 82, 82–83, 83, 83, 83, 83–84, 86, 86, 86, 86, 86–87, 96, 98, 98, 98, 98
   scicat.datasource.ts52.08%18.18%45.45%69.23%34–37, 39, 42, 46, 5, 5, 50, 50, 50, 56–57, 57, 57, 57, 57, 61, 61, 72–73, 75, 78–80, 84, 84, 84, 84, 84–85, 87, 89
   units.service.ts98.11%100%100%96.55%118
src/app/state-management/actions
   datasets.actions.ts100%100%100%100%
   instruments.actions.ts100%100%100%100%
   jobs.actions.ts100%100%100%100%
   logbooks.actions.ts100%100%100%100%
   policies.actions.ts100%100%100%100%
   proposals.actions.ts100%100%100%100%
   published-data.actions.ts100%100%100%100%
   samples.actions.ts100%100%100%100%
   user.actions.ts100%100%100%100%
src/app/state-management/effects
   datasets.effects.ts79.15%43.75%81.72%82.35%107–108, 113–114, 180–182, 185–187, 187, 187, 187, 187–188, 191, 29, 56, 58, 63, 65, 70, 72, 88–89, 94–95
   instruments.effects.ts100%100%100%100%
   jobs.effects.ts98.39%100%96.88%100%
   logbooks.effects.ts87.27%50%84%92.86%33, 36, 41
   policies.effects.ts94.29%50%100%94.59%33, 35, 51–52
   proposals.effects.ts100%100%100%100%
   published-data.effects.ts88.24%100%83.33%93.02%73, 77, 82
   samples.effects.ts96.69%100%95.31%98.25%44
   user.effects.ts97.39%88.89%98.46%97.47%136–138
src/app/state-management/models
   index.ts100%100%100%100%
src/app/state-management/reducers
   datasets.reducer.ts78.38%44%78.13%84.96%122, 133, 133, 133, 133, 133, 133, 138, 142, 144, 148, 150, 16, 164, 166, 180, 182, 189, 191, 201, 24, 256, 276, 32, 61, 68, 74, 76, 82, 84, 89, 92, 98–99
   instruments.reducer.ts92.59%50%100%100%21, 28
   jobs.reducer.ts94.12%50%100%100%30, 35
   logbooks.reducer.ts95.56%50%100%100%43, 48
   policies.reducer.ts94.55%62.50%100%100%43, 47, 52
   proposals.reducer.ts86.84%50%95%91.30%14, 20, 22, 28, 30, 35, 63, 68, 73
   published-data.reducer.ts76%50%85.71%78.57%18, 18, 18–20
   samples.reducer.ts87.06%50%92%92%27, 32, 34, 39, 41, 45, 55, 7, 83
   user.reducer.ts80.36%56.25%77.14%88.52%118, 121, 49, 57, 57, 59–60, 82, 90, 90, 90, 90, 90–91
src/app/state-management/selectors
   datasets.selectors.ts92.22%81.82%97.78%94.87%12, 15, 15, 15–16, 18, 20–22, 34, 45, 8
   instruments.selectors.ts100%100%100%100%
   jobs.selectors.ts92.59%50%100%93.75%16–17
   logbooks.selectors.ts100%100%100%100%
   policies.selectors.ts100%100%100%100%
   proposals.selectors.ts93.42%66.67%100%100%13, 13, 13, 42, 5
   published-data.selectors.ts100%100%100%100%
   samples.selectors.ts98.63%100%95.83%100%
   user.selectors.ts88.71%76.92%90%93.10%10–11, 18, 23, 4
src/app/state-management/state
   datasets.store.ts100%100%100%100%
   instruments.store.ts100%100%100%100%
   jobs.store.ts100%100%100%100%
   logbooks.store.ts100%100%100%100%
   policies.store.ts100%100%100%100%
   proposals.store.ts100%100%100%100%
   published-data.store.ts100%100%100%100%
   samples.store.ts100%100%100%100%
   user.store.ts100%100%100%100%
src/app/users
   adauth.service.ts50%100%66.67%45.45%27, 31–35
src/app/users/auth-callback
   auth-callback.component.ts47.06%0%83.33%50%16–17, 21, 24, 32–34, 34, 34, 34, 34, 36, 40, 49–50, 50, 50
src/app/users/login
   login.component.ts75.28%63.64%81.82%78.57%100, 100, 100, 100, 100–103, 105–106, 49, 52, 88–90, 90, 90, 95, 97–98
src/app/users/privacy-dialog
   privacy-dialog.component.ts100%100%100%100%
src/app/users/user-settings
   user-settings.component.ts65.67%25%85.71%82.50%51, 51, 53, 53–54, 57–58, 63–64, 64, 64, 64, 66, 66, 66, 66, 66–68, 68, 68–69