From 29a05cc58cbe9d85575ca7b7fd165eafb7b784cc Mon Sep 17 00:00:00 2001
From: mchbidwell <122634362+mchbidwell@users.noreply.github.com>
Date: Tue, 19 Dec 2023 13:32:31 -0600
Subject: [PATCH] Revert "Feature/appeals 24683"
---
app/models/user.rb | 4 --
.../hearings/hearing_day_serializer.rb | 8 ++-
app/views/hearings/index.html.erb | 1 -
client/app/hearings/HearingsApp.jsx | 9 ++--
.../components/dailyDocket/DailyDocket.jsx | 7 ++-
.../dailyDocket/DailyDocketPrinted.jsx | 24 ++++-----
.../dailyDocket/DailyDocket.test.js | 47 -----------------
.../dailyDocket/DailyDocketEditLink.test.js | 46 -----------------
.../dailyDocket/DailyDocketPrinted.test.js | 51 -------------------
.../daily_docket/ro_viewhearsched_spec.rb | 9 +++-
.../feature/hearings/daily_docket/vso_spec.rb | 1 -
11 files changed, 25 insertions(+), 182 deletions(-)
delete mode 100644 client/test/app/hearings/components/dailyDocket/DailyDocket.test.js
delete mode 100644 client/test/app/hearings/components/dailyDocket/DailyDocketEditLink.test.js
delete mode 100644 client/test/app/hearings/components/dailyDocket/DailyDocketPrinted.test.js
diff --git a/app/models/user.rb b/app/models/user.rb
index f78751c2af4..826fae4df5a 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -265,10 +265,6 @@ def vso_employee?
roles.include?("VSO")
end
- def non_board_employee?
- vso_employee? || roles.include?("RO ViewHearSched")
- end
-
def camo_employee?
member_of_organization?(VhaCamo.singleton) && FeatureToggle.enabled?(:vha_predocket_workflow, user: self)
end
diff --git a/app/serializers/hearings/hearing_day_serializer.rb b/app/serializers/hearings/hearing_day_serializer.rb
index 905578e02fd..dbdbe74f32a 100644
--- a/app/serializers/hearings/hearing_day_serializer.rb
+++ b/app/serializers/hearings/hearing_day_serializer.rb
@@ -9,17 +9,15 @@ class HearingDaySerializer
attribute :deleted_at
attribute :id
attribute :judge_first_name do |hearing_day, params|
- RequestStore[:current_user]&.non_board_employee? ? nil : get_judge_first_name(hearing_day, params)
+ get_judge_first_name(hearing_day, params)
end
attribute :judge_id
attribute :judge_css_id
attribute :judge_last_name do |hearing_day, params|
- RequestStore[:current_user]&.non_board_employee? ? nil : get_judge_last_name(hearing_day, params)
+ get_judge_last_name(hearing_day, params)
end
attribute :lock
- attribute :notes do |hearing_day|
- RequestStore[:current_user]&.non_board_employee? ? nil : hearing_day.notes
- end
+ attribute :notes
attribute :readable_request_type do |hearing_day, params|
get_readable_request_type(hearing_day, params)
end
diff --git a/app/views/hearings/index.html.erb b/app/views/hearings/index.html.erb
index 5d605dd89d5..55241926043 100644
--- a/app/views/hearings/index.html.erb
+++ b/app/views/hearings/index.html.erb
@@ -30,7 +30,6 @@
userIsHearingManagement: current_user.in_hearing_management_team?,
userIsBoardAttorney: current_user.attorney?,
userIsHearingAdmin: current_user.in_hearing_admin_team?,
- userIsNonBoardEmployee: current_user.non_board_employee?,
featureToggles: {
metricsBrowserError: FeatureToggle.enabled?(:metrics_browser_error, user: current_user)
}
diff --git a/client/app/hearings/HearingsApp.jsx b/client/app/hearings/HearingsApp.jsx
index 98e027d603f..2d43d749701 100644
--- a/client/app/hearings/HearingsApp.jsx
+++ b/client/app/hearings/HearingsApp.jsx
@@ -42,8 +42,7 @@ export default class HearingsApp extends React.PureComponent {
userIsDvc,
userIsHearingManagement,
userIsBoardAttorney,
- userIsHearingAdmin,
- userIsNonBoardEmployee
+ userIsHearingAdmin
} = this.props;
return Object.freeze({
@@ -62,8 +61,7 @@ export default class HearingsApp extends React.PureComponent {
userIsDvc,
userIsHearingManagement,
userIsBoardAttorney,
- userIsHearingAdmin,
- userIsNonBoardEmployee,
+ userIsHearingAdmin
});
};
@@ -240,6 +238,5 @@ HearingsApp.propTypes = {
userIsDvc: PropTypes.bool,
userIsHearingManagement: PropTypes.bool,
userIsBoardAttorney: PropTypes.bool,
- userIsHearingAdmin: PropTypes.bool,
- userIsNonBoardEmployee: PropTypes.bool
+ userIsHearingAdmin: PropTypes.bool
};
diff --git a/client/app/hearings/components/dailyDocket/DailyDocket.jsx b/client/app/hearings/components/dailyDocket/DailyDocket.jsx
index 79423edd933..681594b724b 100644
--- a/client/app/hearings/components/dailyDocket/DailyDocket.jsx
+++ b/client/app/hearings/components/dailyDocket/DailyDocket.jsx
@@ -269,7 +269,7 @@ export default class DailyDocket extends React.Component {
/>
- {!user.userIsNonBoardEmployee && (
+ {!user.userVsoEmployee && (
VLJ: {dailyDocket.judgeFirstName} {dailyDocket.judgeLastName}
@@ -301,9 +301,8 @@ export default class DailyDocket extends React.Component {
)}
- {(user.userIsHearingManagement || user.userIsHearingAdmin) && (
-
- )}
+ {(user.userIsHearingManagement || user.userIsHearingAdmin) &&
+ }
-
- Daily Docket (
- {moment(docket.scheduledFor).format('ddd M/DD/YYYY')})
-
- {docket.notes && (
+
Daily Docket ({moment(docket.scheduledFor).format('ddd M/DD/YYYY')})
+ {docket.notes &&
- Notes:
-
+ Notes:
{docket.notes}
- )}
+ }
- {!user.userIsNonBoardEmployee && (
+ {!user.userVsoEmployee && (
- VLJ:
- {` ${docket.judgeFirstName} ${docket.judgeLastName}`}
+ VLJ: `${docket.judgeFirstName}` `${docket.judgeLastName}`
)}
Coordinator: {docket.bvaPoc}
Hearing type: {docket.readableRequestType}
- Regional office: {docket.regionalOffice}
-
+ Regional office: {docket.regionalOffice}
Room number: {docket.room}
@@ -118,7 +112,7 @@ export class DailyDocketPrinted extends React.Component {
slowReRendersAreOk
/>
- {_.size(previousHearings) > 0 && (
+ {_.size(previousHearings) > 0 &&
Previous Hearings
@@ -128,7 +122,7 @@ export class DailyDocketPrinted extends React.Component {
slowReRendersAreOk
/>
- )}
+ }
);
}
diff --git a/client/test/app/hearings/components/dailyDocket/DailyDocket.test.js b/client/test/app/hearings/components/dailyDocket/DailyDocket.test.js
deleted file mode 100644
index 4f2027cf301..00000000000
--- a/client/test/app/hearings/components/dailyDocket/DailyDocket.test.js
+++ /dev/null
@@ -1,47 +0,0 @@
-import React from 'react';
-import { render, screen } from '@testing-library/react';
-import '@testing-library/jest-dom';
-import { MemoryRouter as Router } from 'react-router-dom';
-import DailyDocket from '../../../../../../client/app/hearings/components/dailyDocket/DailyDocket';
-import { Provider } from 'react-redux';
-import { applyMiddleware, createStore, compose } from 'redux';
-import thunk from 'redux-thunk';
-
-const createStoreWithReducer = (initialState) => {
- const reducer = (state = initialState) => state;
-
- return createStore(reducer, compose(applyMiddleware(thunk)));
-};
-
-const renderDailyDocket = (props) => {
- const store = createStoreWithReducer({ components: {} });
-
- return render(
-
-
-
-
-
- );
-};
-
-it('does render judge name when user is not a nonBoardEmployee', async () => {
- const mockProps = {
- user: { userIsNonBoardEmployee: false },
- dailyDocket: { judgeFirstName: 'Jon', judgeLastName: 'Doe' },
- };
-
- renderDailyDocket(mockProps);
- expect(await screen.findByText(/VLJ:/)).toBeInTheDocument();
-});
-
-it('does not render judge name when userVsoEmployee is true and judge first name and last name are present',
- async () => {
- const mockProps = {
- user: { userIsNonBoardEmployee: true },
- dailyDocket: { judgeFirstName: 'Jon', judgeLastName: 'Doe' },
- };
-
- renderDailyDocket(mockProps);
- expect(await screen.queryByText(/VLJ:\s*Jon\s*Doe/)).not.toBeInTheDocument();
- });
diff --git a/client/test/app/hearings/components/dailyDocket/DailyDocketEditLink.test.js b/client/test/app/hearings/components/dailyDocket/DailyDocketEditLink.test.js
deleted file mode 100644
index 4438e45eee1..00000000000
--- a/client/test/app/hearings/components/dailyDocket/DailyDocketEditLink.test.js
+++ /dev/null
@@ -1,46 +0,0 @@
-import React from 'react';
-import { render, screen } from '@testing-library/react';
-import '@testing-library/jest-dom';
-import { MemoryRouter as Router } from 'react-router-dom';
-import DailyDocketEditLink from '../../../../../../client/app/hearings/components/dailyDocket/DailyDocketEditLinks';
-import { Provider } from 'react-redux';
-import { applyMiddleware, createStore, compose } from 'redux';
-import thunk from 'redux-thunk';
-
-const createStoreWithReducer = (initialState) => {
- const reducer = (state = initialState) => state;
-
- return createStore(reducer, compose(applyMiddleware(thunk)));
-};
-
-const renderDailyDocket = (props) => {
- const store = createStoreWithReducer({ components: {} });
-
- return render(
-
-
-
-
-
- );
-};
-
-it('does render docket notes when user is a board employee', async () => {
- const mockProps = {
- user: { userIsNonBoardEmployee: false },
- dailyDocket: { notes: 'There is a note here' },
- };
-
- renderDailyDocket(mockProps);
- expect(await screen.findByText(/Notes:/)).toBeInTheDocument();
-});
-
-it('does not render docket notes when user is a nonBoardEmployee', async () => {
- const mockProps = {
- user: { userIsNonBoardEmployee: true },
- dailyDocket: { notes: 'There is a note here' },
- };
-
- renderDailyDocket(mockProps);
- expect(await screen.queryByText(/Note:\s*This\s*is\s*a\s*note/)).not.toBeInTheDocument();
-});
diff --git a/client/test/app/hearings/components/dailyDocket/DailyDocketPrinted.test.js b/client/test/app/hearings/components/dailyDocket/DailyDocketPrinted.test.js
deleted file mode 100644
index 86eddf54b1e..00000000000
--- a/client/test/app/hearings/components/dailyDocket/DailyDocketPrinted.test.js
+++ /dev/null
@@ -1,51 +0,0 @@
-import React from 'react';
-import { render, screen } from '@testing-library/react';
-import '@testing-library/jest-dom';
-import DailyDocketPrinted from '../../../../../../client/app/hearings/components/dailyDocket/DailyDocketPrinted';
-
-const renderDailyDocketPrinted = (props) => {
- render();
-};
-
-describe('DailyDocketPrinted', () => {
- it('renders tag VLJ when user is not a VSO employee', async () => {
- const mockProps = {
- user: { userIsNonBoardEmployee: false },
- docket: { judgeFirstName: 'John', judgeLastName: 'Doe' },
- };
-
- renderDailyDocketPrinted(mockProps);
- expect(await screen.findByText(/VLJ:/)).toBeInTheDocument();
- });
-
- it('renders docket notes when user is a board employee', async () => {
- const mockProps = {
- user: { userIsNonBoardEmployee: false },
- docket: { notes: 'There is a note here' }
- };
-
- renderDailyDocketPrinted(mockProps);
- expect(await screen.findByText(/Notes:/)).toBeInTheDocument();
- });
-
- it('does not render tag VLJ when user is a VSO employee', () => {
- const mockProps = {
- user: { userIsNonBoardEmployee: true },
- docket: { judgeFirstName: null, judgeLastName: null },
- disablePrompt: false,
- };
-
- renderDailyDocketPrinted(mockProps);
- expect(screen.queryByText(/VLJ:/)).not.toBeInTheDocument();
- });
-
- it('does not render docket notes when user is a nonBoardEmployee', async () => {
- const mockProps = {
- user: { userIsNonBoardEmployee: true },
- docket: { notes: 'There is a note here' },
- };
-
- renderDailyDocketPrinted(mockProps);
- expect(await screen.queryByText(/Note:\s*This\s*is\s*a\s*note/)).not.toBeInTheDocument();
- });
-});
diff --git a/spec/feature/hearings/daily_docket/ro_viewhearsched_spec.rb b/spec/feature/hearings/daily_docket/ro_viewhearsched_spec.rb
index 0ab30eeb453..d719f5f897f 100644
--- a/spec/feature/hearings/daily_docket/ro_viewhearsched_spec.rb
+++ b/spec/feature/hearings/daily_docket/ro_viewhearsched_spec.rb
@@ -5,13 +5,18 @@
let!(:current_user) { User.authenticate!(css_id: "BVATWARNER", roles: ["RO ViewHearSched"]) }
let!(:hearing) { create(:hearing, :with_tasks) }
- scenario "User cannot view docket notes" do
+ scenario "User can only update notes" do
visit "hearings/schedule/docket/" + hearing.hearing_day.id.to_s
expect(page).to_not have_button("Print all Hearing Worksheets")
expect(page).to_not have_content("Edit Hearing Day")
expect(page).to_not have_content("Lock Hearing Day")
expect(page).to_not have_content("Hearing Details")
- expect(page).to_not have_content("Notes")
expect(page).to have_field("Transcript Requested", disabled: true, visible: false)
+ expect(find(".dropdown-#{hearing.external_id}-disposition")).to have_css(".cf-select__control--is-disabled")
+ fill_in "Notes", with: "This is a note about the hearing!"
+ click_button("Save")
+
+ expect(page).to have_content("You have successfully updated", wait: 10)
+ expect(page).to have_content("This is a note about the hearing!")
end
end
diff --git a/spec/feature/hearings/daily_docket/vso_spec.rb b/spec/feature/hearings/daily_docket/vso_spec.rb
index 2ea780e53c4..749a8672269 100644
--- a/spec/feature/hearings/daily_docket/vso_spec.rb
+++ b/spec/feature/hearings/daily_docket/vso_spec.rb
@@ -12,6 +12,5 @@
expect(page).to_not have_content("Edit Hearing Day")
expect(page).to_not have_content("Lock Hearing Day")
expect(page).to_not have_content("Hearing Details")
- expect(page).to_not have_content("Notes")
end
end