Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
e771ff6
Update dependency dompurify to v3.3.0
renovate[bot] Oct 21, 2025
af8c344
Making the feedback status load on overview page.
sfisher Oct 29, 2025
ccba144
Fixing mock so tests don't break
sfisher Oct 29, 2025
f3da4cf
Fixing mock so tests don't break
sfisher Oct 29, 2025
4c6d9d3
fixing translation keys
sfisher Oct 29, 2025
1e7b51e
adding to CHANGELOG.md
sfisher Oct 29, 2025
e4b7779
Merge branch 'development' into 411-feedback-info-plan
sfisher Oct 29, 2025
1569152
roll back package-lock.json
sfisher Oct 30, 2025
900d91b
initial changes for Download of plans
jupiter007 Oct 31, 2025
836341b
initial changes for Download of plans
jupiter007 Nov 1, 2025
c70f691
Update dependency dotenv to v16.6.1
renovate[bot] Nov 3, 2025
e2f0500
Added unit test and translations for Download plan page
jupiter007 Nov 3, 2025
89ab3e3
Added new NARRATIVE_SERVICE_URL variable to .env.example
jupiter007 Nov 3, 2025
46dd764
Added PT translations
jupiter007 Nov 3, 2025
9f85859
Added auto save back to the PlanOverviewQuestionPage component
jupiter007 Nov 4, 2025
cfcf1cc
merged development into branch
jupiter007 Nov 4, 2025
703271a
Merge pull request #925 from CDLUC3/feature/313/JS-hook-up-download-page
jupiter007 Nov 4, 2025
02fbee4
merged development into branch and fixed ordering of CHANGELOG
jupiter007 Nov 4, 2025
b97a8c0
Merge pull request #892 from CDLUC3/renovate/dompurify-3.x
jupiter007 Nov 4, 2025
1bcd70e
Merge pull request #954 from CDLUC3/feature/944/JS-adding-autosave-ba…
jupiter007 Nov 5, 2025
2230e8f
Merge pull request #893 from CDLUC3/renovate/dotenv-16.x
jupiter007 Nov 5, 2025
a9be43e
Removed scrollToTop on Template Create page
jupiter007 Nov 5, 2025
e8224d3
Merge pull request #958 from CDLUC3/feature/950/JS-remove-page-scroll…
jupiter007 Nov 5, 2025
f295b95
Initial changes to this ticket
jupiter007 Nov 5, 2025
d2c8d14
Merge branch 'development' into 411-feedback-info-plan
sfisher Nov 6, 2025
be77462
Added new 'Start DMP' page and updated project creation pages, header…
jupiter007 Nov 6, 2025
22febc5
Updated Project Details page to hide subDomain field until user selec…
jupiter007 Nov 6, 2025
14d378e
Added query param when users are coming from the Project Overview pag…
jupiter007 Nov 6, 2025
5cf9dba
Added query param when users are coming from the Project Overview pag…
jupiter007 Nov 6, 2025
1e5bad2
fixed wrong page reference in unit test
jupiter007 Nov 6, 2025
39e80ee
Added missing translations
jupiter007 Nov 6, 2025
e83af63
Merge pull request #960 from CDLUC3/feature/947/JS-update-subdomain-o…
jupiter007 Nov 7, 2025
d5ff0b8
Changed 'remove' buttons in Repository and Metadata Standards selecto…
jupiter007 Nov 7, 2025
d6cf8da
Updated Output Types section in static Research Outputs table
jupiter007 Nov 7, 2025
5120c6d
Added missing translation keys and translations
jupiter007 Nov 7, 2025
00e8aaa
Merge pull request #972 from CDLUC3/feature/964/change-remove-buttons…
jupiter007 Nov 7, 2025
6c578b0
merged development into branch
jupiter007 Nov 12, 2025
b66f340
Merge pull request #961 from CDLUC3/feature/956/JS-update-project-sta…
jupiter007 Nov 12, 2025
6e831a0
Added new shared ProjectRoles component to be used between the Projec…
jupiter007 Nov 12, 2025
4987254
Added new shared ProjectRoles component to be used between the Projec…
jupiter007 Nov 12, 2025
0999402
merged development branch into this one
jupiter007 Nov 12, 2025
ff0a167
Merge pull request #973 from CDLUC3/feature/962/JS-add-descriptions-f…
jupiter007 Nov 12, 2025
0aebfff
Initial changes for adding initial access level field
jupiter007 Nov 13, 2025
c7c8c09
added unit test for InitialAccessLevel, fixed unit test for OutputTyp…
jupiter007 Nov 13, 2025
ee84239
changed terms from type to accessLevel for InitialAccessLevel and upd…
jupiter007 Nov 13, 2025
3198f9b
Commented out the customizable part of the Initial Access Level - kep…
jupiter007 Nov 14, 2025
86c158e
Merge pull request #984 from CDLUC3/feature/969/JS-add-initial-access…
jupiter007 Nov 14, 2025
522507f
Added help text fields to Description, Repositories, Metadata Standar…
jupiter007 Nov 15, 2025
4942aca
Merge pull request #988 from CDLUC3/feature/970/JS-add-help-text-fiel…
jupiter007 Nov 17, 2025
3b75650
merged development into branch
jupiter007 Nov 17, 2025
6d36687
For Research Outputs, updated repositories and metadata standards fie…
jupiter007 Nov 17, 2025
572d778
Fixed issue where custom repos and standards were not being saved in …
jupiter007 Nov 17, 2025
f8f18f6
Text changes to Add/Edit Question for upcoming blog posts
jupiter007 Nov 17, 2025
550b519
Ran npm audit fix to fix two vulnerabilities for glob and js-yaml
jupiter007 Nov 18, 2025
809238a
Merge pull request #1003 from CDLUC3/chore/update-glob-due-to-vulnera…
jupiter007 Nov 18, 2025
ccc7dd1
Removed description fields for Repositories, Metadata Standards and D…
jupiter007 Nov 18, 2025
7bf1cf2
Merge pull request #979 from CDLUC3/feature/945-add-credit-roles-link…
jupiter007 Nov 18, 2025
b56b2d5
Merge pull request #991 from CDLUC3/bugs/943/JS-improvements-on-Resea…
jupiter007 Nov 18, 2025
39fc3fe
merged development into branch
jupiter007 Nov 18, 2025
5919375
Merge pull request #1000 from CDLUC3/feature/989/JS-cleanup-to-add-ed…
jupiter007 Nov 18, 2025
70590d5
Merge pull request #1004 from CDLUC3/feature/970/remove-description-f…
jupiter007 Nov 18, 2025
8ab5d2c
Merge pull request #919 from CDLUC3/411-feedback-info-plan
sfisher Nov 18, 2025
ea74657
Added Guidance text from the backend to the Question Entry page
jupiter007 Nov 19, 2025
273a6f4
updated package-lock.json and fixed comment
jupiter007 Nov 20, 2025
33b63b5
Rewrote te matchedGuidanceTexts function to not fall back to -1h
jupiter007 Nov 20, 2025
c0edf56
Merge pull request #1008 from CDLUC3/feature/580/JS-get-guidance-text…
jupiter007 Nov 21, 2025
060086e
initial changes for adding and editing a guidance group and adding an…
jupiter007 Nov 25, 2025
8ced1a8
Updated the guidance groups page to display all tag categories with i…
jupiter007 Nov 26, 2025
57df2d0
removed research outputs section from project overview
briri Nov 26, 2025
ab8faf0
Hooked up guidance groups pages, re-wrote the guidance group edit pag…
jupiter007 Nov 30, 2025
c717163
Fixed linting errors
jupiter007 Nov 30, 2025
7fbeb8b
Added unit test for /guidance page
jupiter007 Dec 1, 2025
aab0b12
Updated the Edit Guidance Group page, and wrote unit tests. Updated T…
jupiter007 Dec 2, 2025
3a9f0d7
Removed the create and edit pages for guidanceText that were previous…
jupiter007 Dec 2, 2025
4b866d6
Added unit test for guidance group edit page
jupiter007 Dec 2, 2025
06d23a7
Fixed unit test errors and linting errors
jupiter007 Dec 2, 2025
f82018b
Updated CHANGELOG.md and added PT translations
jupiter007 Dec 2, 2025
e0c828a
guidance updates assuming there is a 1-to-1 relationship between guid…
jupiter007 Dec 2, 2025
1a2cdc3
made guidanceText optional and removed an alert when text field is empty
jupiter007 Dec 3, 2025
487f2ca
fixed breaking unit tests
jupiter007 Dec 3, 2025
76479bd
fixed linting error
jupiter007 Dec 3, 2025
f809499
removed research output translation keys
briri Dec 3, 2025
f6bffbc
Merge pull request #1019 from CDLUC3/bug/project-create
briri Dec 3, 2025
a751bbf
Fixed some issues in middleware and authHelper and made improvements…
jupiter007 Dec 3, 2025
cfc1d8d
Updated query schemas due to backend changes
jupiter007 Dec 3, 2025
12336be
updated version of 'next' to 15.5.7 due to vulnerability
jupiter007 Dec 3, 2025
3fe4843
responded to PR comments
jupiter007 Dec 3, 2025
8b72f67
responded to PR comments
jupiter007 Dec 3, 2025
0c18797
responded to PR comments
jupiter007 Dec 3, 2025
5942309
updated tags mock to include slug
jupiter007 Dec 3, 2025
53f560e
Added missing slug in mock
jupiter007 Dec 3, 2025
00c12b2
Merge pull request #1039 from CDLUC3/chore/JS/update-version-of-next-…
jupiter007 Dec 3, 2025
a1f9e7f
Merge pull request #1038 from CDLUC3/chore/JS/make-improvements-to-au…
jupiter007 Dec 4, 2025
87c2157
merged latest changes from development branch
jupiter007 Dec 4, 2025
7ccb52c
Merge pull request #1034 from CDLUC3/feature/934/JS-update-since-guid…
jupiter007 Dec 4, 2025
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
3 changes: 3 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,6 @@ JWT_SECRET=
#Crowdin
CROWDIN_PERSONAL_TOKEN=
CROWDIN_PROJECT_ID=

# For dmptool-narrative-generator service
NARRATIVE_SERVICE_URL=http://narrative:3030
48 changes: 47 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,58 @@
### Added
- Added missing `slug` property to all `tags` in the graphQL queries
- Added guidance text from the backend to the Question Answer page [#580]
- Added new, shared `ProjectRoles` component that generates the list of Project Roles for both the Project Member Search and Edit Project member pages [#945]
- Added `Help text` fields to `Description, Repositories, Metadata Standards, License, Access Level and Custom Text` fields in Research Output question type [#970]
- Added customizable `Initial Access Level` field to the QuestionAdd page for Research Outputs question type [#969]
- Added new `Start DMP` page at `projects/[projectId]/dmp/start` to direct user to create new plan or upload existing [#956]
- Added `autosave` back to the `PlanOverviewQuestionpage` [#944]
- Hooked up the `Download plan` page and added a `download-narrative` api endpoint [#313]

### Updated
- Guidance page updates [#934]
- Hooked up `admin/guidance` page that lists all the `guidance groups` and offers `Create Guidance Group` button and edit options for existing Guidance Groups [#934]
- Hooked up `admin/guidance/groups/create`, and created a new page for `admin/guidance/groups/[groupId]` to include guidance text for all tags in one place and to allow
publishing at that level [#934]
- Added skeleton for loading of TinyMCEEditor. Especially needed it for the new Guidance Group Edit page, since we are loading so many at once [#934]
- Updated stripHtmlTags to include replacement of ` ` [#934]
- Updated `DashboardListItem` to have the option to be fully clickable. This makes clicking on smaller devices easier [#934]
- Made improvements to auth handling in `middleware` and `authHelper.ts` [#1035]
- Made text changes to upcoming blog posts [#989]
- For Research Outputs, updated repositories and metadata standards fields to be automatically enabled when user selects custom ones [#943]
- Updated Licenses and Output Types to use label "Use custom list" [#943]
- Updated `Output Types` in static `Research Outputs` table [#962]
- Added a description field to custom types
- Added tooltip icons next to each default output type with the description
- Updated Output Types component to behave like the Licenses component, where users can delete default types
- Updated unit test
- Improved project creation steps by updating pages in the flow (header, home, plan dashboard, create project details,and funding search) to help users in creating a plan [#956]
- Updated Project Details subdomains field to only display once a user selects a research domain [#947]
- Updated `Remove` buttons to be `secondary` buttons, rather than `red` [#964]

### Fixed
- For Research Outputs, fixed custom Licenses select field to display selected value [#943]
- Fixed issue where custom repos and standards were not saving in state [#943]

### Removed
- Removed Research Outputs section from the plan overview page
- Removed reference to the old `outputs` association on the graphQL query
- Removed `Description` fields for Research Output question fields [#970]
- Removed `scrollToTop` from `Template Create` page [#950]

### Chore
- Updated `next` version to `15.5.7` due to vulnerability
- Ran `npm audit fix` to address `glob` vulnerability and `js-yaml` vulnerability
====================================================================================================================================
## All changes above the line happened after the merge to the main branch on Nov 3, 2025
### Added
- Added user's org as a filter for the Plan Create (`projects/9/dmp/create`) page, and updated filter text to include `organization` [#735]
- Fixed filtering on the Plan Create (`projects/9/dmp/create`) page so that it takes search term into consideration when used with checked filters [#735]
- Moved checkbox filters below search field to make them more noticeable [#735]
- Made code improvements to the Plan Create page and updated unit tests [#735]
- Removed `Title` field from TinyMCEEditor's `Insert Link` form, and made `new window` the default for `Open link in...` [#874]
- Integrated related works UI with GraphQL backend.
- Added updated description that includes template source, affiliation name, version and publish date on the `Plan Overview` page [#621]

- Added plan feedback status (Feedback received, Feedback requested, No feedback) to the `Plan Overview` page [#411]

### Updated
- Updated `TinyMCEEditor` to allow users to change text color and background color.
Expand Down
38 changes: 17 additions & 21 deletions app/[locale]/__tests__/page.spec.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,37 +10,33 @@ describe('Home Page', () => {
render(<Home />);

// Check for the heading
expect(screen.getByRole('heading', { level: 1 })).toHaveTextContent('Home Page');
expect(screen.getByRole('heading', { level: 1 })).toHaveTextContent('title');

// Check for the PageLinkCard sections
expect(screen.getByText('Create & Manage')).toBeInTheDocument();
expect(screen.getByText('Account & Administration')).toBeInTheDocument();
expect(screen.getByText('createAndManage.title')).toBeInTheDocument();
expect(screen.getByText('createAndManage.description')).toBeInTheDocument();
expect(screen.getByText('accountAndAdmin.title')).toBeInTheDocument();
expect(screen.getByText('accountAndAdmin.description')).toBeInTheDocument();

// Check for section descriptions
expect(screen.getByText('Create new templates and projects')).toBeInTheDocument();
expect(screen.getByText('Manage your account and access admin features')).toBeInTheDocument();
expect(screen.getByText('sections.templateManagement.title')).toBeInTheDocument();
expect(screen.getByText('sections.templateManagement.description')).toBeInTheDocument();
expect(screen.getByText('sections.planDashboard.title')).toBeInTheDocument();
expect(screen.getByText('sections.planDashboard.description')).toBeInTheDocument();
expect(screen.getByText('sections.accountSettings.title')).toBeInTheDocument();
expect(screen.getByText('sections.accountSettings.description')).toBeInTheDocument();
expect(screen.getByText('sections.adminOverview.title')).toBeInTheDocument();
expect(screen.getByText('sections.adminOverview.description')).toBeInTheDocument();

// Check for all links to be present
const allLinks = screen.getAllByRole('link');
expect(allLinks).toHaveLength(4);


expect(screen.getByText('Template Management')).toBeInTheDocument();
expect(screen.getByText('Project Management')).toBeInTheDocument();
expect(screen.getByText('Account Settings')).toBeInTheDocument();
expect(screen.getByText('Admin Overview')).toBeInTheDocument();


expect(screen.getByText('Create and manage templates (Must be Admin to access)')).toBeInTheDocument();
expect(screen.getByText('Create and manage projects')).toBeInTheDocument();
expect(screen.getByText('View and manage your account')).toBeInTheDocument();
expect(screen.getByText('Access administrative functions')).toBeInTheDocument();


const templateManagementLink = screen.getByText('Template Management').closest('a');
const projectManagementLink = screen.getByText('Project Management').closest('a');
const accountSettingsLink = screen.getByText('Account Settings').closest('a');
const adminOverviewLink = screen.getByText('Admin Overview').closest('a');
const templateManagementLink = screen.getByText('sections.templateManagement.title').closest('a');
const projectManagementLink = screen.getByText('sections.planDashboard.title').closest('a');
const accountSettingsLink = screen.getByText('sections.accountSettings.title').closest('a');
const adminOverviewLink = screen.getByText('sections.adminOverview.title').closest('a');

expect(templateManagementLink).toHaveAttribute('href', '/en-US/template');
expect(projectManagementLink).toHaveAttribute('href', '/en-US/projects');
Expand Down
Loading