Skip to content

Commit ce906e7

Browse files
committed
f show role only if in that position
1 parent 87fe40d commit ce906e7

File tree

3 files changed

+22
-7
lines changed

3 files changed

+22
-7
lines changed

webapp/src/PlayerDisplay.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ const PlayerDisplay = ({
6262
<RoleSheet
6363
key={role}
6464
role={role}
65+
position={position}
6566
player={player}
6667
scorePoints={scorePoints}
6768
/>

webapp/src/RoleSheet.spec.tsx

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,23 @@ import { Role, levels, roles } from "./model/Roles";
66

77

88
describe('RoleSheet', () => {
9-
const firstLevelRoles = levels[0].map((name) => roles[name]);
10-
firstLevelRoles.forEach((role) => it(`shows skills for the ${role.name} role`, () => {
11-
render(<RoleSheet role={role.name as Role} player={new Player("Roger")} scorePoints={() => { }} />);
9+
it(`shows Driver skills when in Driver position`, () => {
10+
render(<RoleSheet role="Driver" position="Driver" player={new Player("Roger")} scorePoints={() => { }} />);
1211

13-
role.todos.forEach(todo => expect(screen.getByText(todo)).toBeInTheDocument())
14-
}))
12+
roles["Driver"].todos.forEach(todo => expect(screen.getByText(todo)).toBeInTheDocument())
13+
});
14+
15+
it(`shows Navigator skills when in Navigator position`, () => {
16+
render(<RoleSheet role="Navigator" position="Navigator" player={new Player("Roger")} scorePoints={() => { }} />);
17+
18+
roles["Navigator"].todos.forEach(todo => expect(screen.getByText(todo)).toBeInTheDocument())
19+
});
20+
21+
it(`shows Mobber skills when in Mobber position`, () => {
22+
render(<RoleSheet role="Mobber" position="Mobber" player={new Player("Roger")} scorePoints={() => { }} />);
23+
24+
roles["Mobber"].todos.forEach(todo => expect(screen.getByText(todo)).toBeInTheDocument())
25+
});
1526
})
1627

1728
// TODO if canEarnPoints for role, show skills of role

webapp/src/RoleSheet.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,14 @@ import { EarnPointsForRoleForm } from "./EarnPointsForRoleForm";
77
type RoleSheetProps = {
88
player: Player;
99
role: Role;
10+
position: string;
1011
scorePoints: any;
1112
};
1213

1314
export function RoleSheet({
1415
player,
1516
role,
17+
position,
1618
scorePoints
1719
}: RoleSheetProps): JSX.Element {
1820
return <div className="role">
@@ -28,9 +30,10 @@ export function RoleSheet({
2830
/>
2931
</label>
3032
<EarnPointsForRole role={role} scorePoints={scorePoints} />
31-
{/* TODO: Add list of activities for this role */}
3233
<div>
33-
{roles[role].todos.map(s => <div key={s}>{s}</div>)}
34+
{role == "Driver" && position == "Driver" && roles[role].todos.map(s => <div key={s}>{s}</div>)}
35+
{role == "Navigator" && position == "Navigator" && roles[role].todos.map(s => <div key={s}>{s}</div>)}
36+
{role == "Mobber" && position == "Mobber" && roles[role].todos.map(s => <div key={s}>{s}</div>)}
3437
</div>
3538
{/*
3639
some_function({role}) returns string (or list of strings) to display here....

0 commit comments

Comments
 (0)