Skip to content

Commit 6b41eba

Browse files
authored
Update Learner Program Record Styling and remove header (#3593)
1 parent aa83749 commit 6b41eba

5 files changed

Lines changed: 128 additions & 14 deletions

File tree

frontend/public/scss/learner-records.scss

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,13 @@
2020
}
2121

2222
div.learner-record-inst-logo {
23-
padding: 20px 40px;
24-
border: 1px solid $home-page-border-grey;
25-
border-radius: 5px;
26-
align-self: start;
27-
align-items: center;
28-
margin: 0;
23+
display: flex;
24+
padding: 20px 32px 20px 32px;
2925
}
3026

31-
img {
32-
width: 200px;
33-
height: auto;
27+
.learner-record-inst-logo img {
28+
height: 30.7569px;
29+
opacity: 1;
3430
}
3531
}
3632

frontend/public/src/containers/App.js

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,20 @@ export class App extends React.Component<Props, void> {
9595
)
9696
}
9797

98+
isLearnerRecordsPage() {
99+
const { match, location } = this.props
100+
return (
101+
!!matchPath(location.pathname, {
102+
path: urljoin(match.url, String(routes.learnerRecords)),
103+
exact: false
104+
}) ||
105+
!!matchPath(location.pathname, {
106+
path: urljoin(match.url, String(routes.sharedLearnerRecord)),
107+
exact: false
108+
})
109+
)
110+
}
111+
98112
render() {
99113
const { match, currentUser, cartItemsCount, location } = this.props
100114
if (!currentUser) {
@@ -104,7 +118,9 @@ export class App extends React.Component<Props, void> {
104118

105119
return (
106120
<div className="app" aria-flowto="notifications-container">
107-
{!this.isEcomServiceMode() && !this.isCheckoutRelatedPage() && (
121+
{!this.isEcomServiceMode() &&
122+
!this.isCheckoutRelatedPage() &&
123+
!this.isLearnerRecordsPage() && (
108124
<Header
109125
currentUser={currentUser}
110126
cartItemsCount={currentUser.is_authenticated ? cartItemsCount : 0}

frontend/public/src/containers/App_test.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,40 @@ describe("Top-level App", () => {
183183
assert.isFalse(inner.find("Header").exists())
184184
})
185185

186+
it("does not render header on learner record page", async () => {
187+
helper.handleRequestStub.returns(anonymousUser)
188+
renderPage = helper.configureMountRenderer(
189+
App,
190+
InnerApp,
191+
{},
192+
{
193+
match: { url: routes.root },
194+
location: {
195+
pathname: "/records/1/"
196+
}
197+
}
198+
)
199+
const { inner } = await renderPage()
200+
assert.isFalse(inner.find("Header").exists())
201+
})
202+
203+
it("does not render header on shared learner record page", async () => {
204+
helper.handleRequestStub.returns(anonymousUser)
205+
renderPage = helper.configureMountRenderer(
206+
App,
207+
InnerApp,
208+
{},
209+
{
210+
match: { url: routes.root },
211+
location: {
212+
pathname: "/records/shared/test-uuid/"
213+
}
214+
}
215+
)
216+
const { inner } = await renderPage()
217+
assert.isFalse(inner.find("Header").exists())
218+
})
219+
186220
it("renders header on dashboard page", async () => {
187221
helper.handleRequestStub.returns(anonymousUser)
188222
renderPage = helper.configureMountRenderer(

frontend/public/src/containers/pages/records/LearnerRecordsPage.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -476,7 +476,7 @@ export class LearnerRecordsPage extends React.Component<Props, State> {
476476
<h3 className="learner-record-program-title">
477477
{learnerRecord ?
478478
learnerRecord.program.title :
479-
"MITx Online Program Record"}
479+
"MIT Learn Program Record"}
480480
</h3>
481481
<p>Program Record</p>
482482
</div>
@@ -517,7 +517,7 @@ export class LearnerRecordsPage extends React.Component<Props, State> {
517517
id="learner-record-school-name"
518518
>
519519
<div className="w-auto">
520-
<div>MITx Online Program Record</div>
520+
<div>MIT Learn Program Record</div>
521521
<h1 className="learner-record-program-title">
522522
{learnerRecord ? learnerRecord.program.title : null}
523523
</h1>
@@ -537,8 +537,8 @@ export class LearnerRecordsPage extends React.Component<Props, State> {
537537
</div>
538538
<div className="learner-record-inst-logo">
539539
<img
540-
src="/static/images/mitx-online-logo.png"
541-
alt="MITx Online Logo"
540+
src="/static/images/mit-black-logo.png"
541+
alt="MIT Logo"
542542
/>
543543
</div>
544544
</div>
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
// @flow
2+
import { assert } from "chai"
3+
import { shallow } from "enzyme"
4+
5+
import LearnerRecordsPage, {
6+
LearnerRecordsPage as InnerLearnerRecordsPage
7+
} from "./LearnerRecordsPage"
8+
import { makeLearnerRecord } from "../../../factories/course"
9+
import IntegrationTestHelper from "../../../util/integration_test_helper"
10+
11+
describe("LearnerRecordsPage", () => {
12+
let helper, renderPage
13+
14+
beforeEach(() => {
15+
helper = new IntegrationTestHelper()
16+
global.SETTINGS = {
17+
site_name: "MITx Online",
18+
support_email: "support@example.com"
19+
}
20+
21+
renderPage = helper.configureShallowRenderer(
22+
LearnerRecordsPage,
23+
InnerLearnerRecordsPage,
24+
{},
25+
{
26+
learnerRecord: null,
27+
isSharedRecord: false,
28+
history: {},
29+
isLoading: false,
30+
addUserNotification: helper.sandbox.stub(),
31+
forceRequest: helper.sandbox.stub(),
32+
enableRecordSharing: helper.sandbox.stub().resolves({}),
33+
revokeRecordSharing: helper.sandbox.stub().resolves({}),
34+
match: { params: { program: "1" } },
35+
currentUser: { is_authenticated: true }
36+
}
37+
)
38+
})
39+
40+
afterEach(() => {
41+
helper.cleanup()
42+
delete global.SETTINGS
43+
})
44+
45+
it("keeps the records page title banner", async () => {
46+
const { inner } = await renderPage()
47+
const pageHeader = inner.find(".std-page-header").first()
48+
49+
assert.isTrue(pageHeader.exists())
50+
assert.equal(pageHeader.find("h1").first().text(), "Program Record")
51+
})
52+
53+
it("renders the MIT logo in the learner record header", async () => {
54+
const learnerRecord = makeLearnerRecord(true)
55+
const { inner } = await renderPage({}, { learnerRecord })
56+
const learnerRecordTable = shallow(
57+
inner.instance().renderLearnerRecordTable(learnerRecord)
58+
)
59+
60+
const logo = learnerRecordTable
61+
.find(".learner-record-inst-logo img")
62+
.first()
63+
64+
assert.isTrue(logo.exists())
65+
assert.equal(logo.prop("src"), "/static/images/mit-black-logo.png")
66+
assert.equal(logo.prop("alt"), "MIT Logo")
67+
})
68+
})

0 commit comments

Comments
 (0)