Skip to content

Commit 9919230

Browse files
Added more details to DAP in DS Details (#233)
1 parent 63c0f41 commit 9919230

File tree

5 files changed

+78
-26
lines changed

5 files changed

+78
-26
lines changed

.github/workflows/e2e.yml

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,9 @@ on:
55

66
jobs:
77
test:
8-
name: Run Playwright (${{ matrix.browser }})
8+
name: Run Playwright E2E Tests
99
runs-on: ubuntu-latest
1010
timeout-minutes: 30
11-
strategy:
12-
matrix:
13-
browser: [chromium, firefox, webkit]
1411
steps:
1512
- name: Checkout repository
1613
uses: actions/checkout@v5
@@ -23,38 +20,28 @@ jobs:
2320
with:
2421
node-version: 24
2522
cache: 'pnpm'
23+
- name: Get Playwright version
24+
id: playwright-version
25+
run: echo "version=$(pnpm list @playwright/test --depth=0 --json | jq -r '.[0].devDependencies["@playwright/test"].version')" >> $GITHUB_OUTPUT
2626
- name: Cache Playwright browsers
2727
uses: actions/cache@v4
2828
with:
2929
path: ~/.cache/ms-playwright
30-
key: playwright-${{ runner.os }}-${{ matrix.browser }}-${{ hashFiles('**/pnpm-lock.yaml') }}
31-
restore-keys: |
32-
playwright-${{ runner.os }}-${{ matrix.browser }}-
33-
playwright-${{ runner.os }}-
30+
key: playwright-browsers-${{ runner.os }}-${{ steps.playwright-version.outputs.version }}
3431
- name: Install dependencies
3532
run: pnpm install --frozen-lockfile
3633
- name: Install Playwright Browsers
37-
run: pnpm exec playwright install --with-deps ${{ matrix.browser }}
34+
run: pnpm exec playwright install --with-deps
3835
- name: Build application
3936
run: pnpm run build
4037
- name: Run Playwright tests
41-
run: pnpm run e2e --project=${{ matrix.browser }}
38+
run: pnpm exec playwright test --project=chromium --project=firefox --project=webkit --workers=4
4239
env:
4340
CI: true
44-
PLAYWRIGHT_HTML_REPORT: playwright-report
45-
PLAYWRIGHT_JUNIT_OUTPUT_NAME: results.xml
4641
FORCE_COLOR: 1
47-
NO_COLOR: 0
48-
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
49-
PLAYWRIGHT_WORKERS: 1
50-
PLAYWRIGHT_TIMEOUT: 30000
51-
PLAYWRIGHT_EXPECT_TIMEOUT: 10000
52-
PLAYWRIGHT_CHROMIUM_USE_HEADLESS_NEW: 1
53-
PLAYWRIGHT_DISABLE_COLORS: 0
54-
PLAYWRIGHT_REPORTER: html,junit
5542
- uses: actions/upload-artifact@v4
5643
if: ${{ !cancelled() }}
5744
with:
58-
name: playwright-report-${{ matrix.browser }}
45+
name: playwright-report
5946
path: playwright-report/
6047
retention-days: 14

src/app/metadata/features/dataset-details/dataset-details.html

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -224,10 +224,39 @@ <h2 class="inline-flex items-center text-2xl">
224224
><mat-icon inline fontIcon="data_loss_prevention"></mat-icon></span
225225
><span>Policy and Data Access Committee</span>
226226
</h2>
227-
<p class="text-base">
228-
<strong>Data Access Committee:</strong> {{ dac().alias }}
229-
</p>
230-
<p class="text-base"><strong>e-Mail:</strong> {{ dac().email }}</p>
227+
<div
228+
class="*:text-base lg:grid lg:grid-flow-col lg:grid-cols-2 lg:grid-rows-[fit-content(1px)_fit-content(1px)] lg:gap-x-2 2xl:grid-cols-3"
229+
>
230+
<p><strong>Data Access Committee:</strong> {{ dac().alias }}</p>
231+
<p><strong>e-Mail:</strong> {{ dac().email }}</p>
232+
<p class="2xl:col-span-2">
233+
<strong>Data Use Permission:</strong>&nbsp;<a
234+
appExtLink
235+
[href]="dap().data_use_permission_url"
236+
>{{ dap().data_use_permission_term }}</a
237+
>
238+
</p>
239+
<p class="2xl:col-span-2">
240+
<strong>Data Use Modifiers:</strong>
241+
@if (dap().data_use_modifier_terms.length > 0) {
242+
@for (
243+
term of dap().data_use_modifier_terms;
244+
track term;
245+
let idx = $index;
246+
let first = $first;
247+
let last = $last
248+
) {
249+
{{ first ? ' ' : '' }}
250+
<a appExtLink [href]="dap().data_use_modifier_urls[idx]">{{
251+
term
252+
}}</a
253+
>{{ last ? '' : ', ' }}
254+
}
255+
} @else {
256+
N/A
257+
}
258+
</p>
259+
</div>
231260
<p class="text-base">
232261
<strong>Data Access Policy:</strong> {{ dap().name }}
233262
</p>

src/app/metadata/features/dataset-details/dataset-details.ts

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,28 @@ export class DatasetDetailsComponent implements OnInit {
110110
} else return undefined;
111111
});
112112

113-
dap = computed(() => this.datasetDetails().data_access_policy);
113+
readonly baseDuoUrl = 'https://purl.obolibrary.org/obo/';
114+
115+
dap = computed(() => {
116+
const dap = this.datasetDetails().data_access_policy;
117+
const data_use_permission_url = `${this.baseDuoUrl}${dap.data_use_permission_id.replace(':', '_')}`;
118+
const data_use_modifier_urls = dap.data_use_modifier_ids.map(
119+
(x) => `${this.baseDuoUrl}${x.replace(':', '_')}`,
120+
);
121+
const data_use_permission_term = dap.data_use_permission_term
122+
.toLowerCase()
123+
.replaceAll('_', ' ');
124+
const data_use_modifier_terms = dap.data_use_modifier_terms.map((x) =>
125+
x.toLowerCase().replace('_', ' '),
126+
);
127+
return {
128+
...dap,
129+
data_use_permission_term,
130+
data_use_modifier_terms,
131+
data_use_permission_url,
132+
data_use_modifier_urls,
133+
};
134+
});
114135
dac = computed(() => this.dap().data_access_committee);
115136
study = computed(() => this.datasetDetails().study);
116137
publications = computed(() => this.study().publications);

src/app/metadata/models/dataset-details.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ interface DataAccessPolicy {
2929
name: string;
3030
policy_text: string;
3131
policy_url: string;
32+
data_use_permission_term: string;
33+
data_use_permission_id: string;
34+
data_use_modifier_terms: string[];
35+
data_use_modifier_ids: string[];
3236
data_access_committee: {
3337
alias: string;
3438
email: string;
@@ -104,6 +108,10 @@ export const emptyDatasetDetails: DatasetDetails = {
104108
name: '',
105109
policy_text: '',
106110
policy_url: '',
111+
data_use_permission_term: '',
112+
data_use_permission_id: '',
113+
data_use_modifier_terms: [],
114+
data_use_modifier_ids: [],
107115
data_access_committee: {
108116
alias: '',
109117
email: '',

src/mocks/data.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -403,6 +403,13 @@ export const datasetDetails: DatasetDetailsRaw = {
403403
Pharetra vel turpis nunc eget lorem dolor sed. Commodo quis imperdiet massa tincidunt nunc pulvinar sapien et. Vel pretium lectus quam id leo. Ornare suspendisse sed nisi lacus sed viverra. Magna etiam tempor orci eu lobortis elementum. Aliquam nulla facilisi cras fermentum. Rutrum tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras. Nam at lectus urna duis. Nunc scelerisque viverra mauris in aliquam sem fringilla ut morbi. At elementum eu facilisis sed odio morbi quis commodo odio. Amet nisl purus in mollis nunc sed id. Tristique sollicitudin nibh sit amet. Arcu risus quis varius quam quisque id diam. Nisl tincidunt eget nullam non. Bibendum arcu vitae elementum curabitur vitae. Vitae aliquet nec ullamcorper sit amet risus nullam eget felis.\n
404404
Cum sociis natoque penatibus et magnis. Quam lacus suspendisse faucibus interdum. Lorem dolor sed viverra ipsum. Non pulvinar neque laoreet suspendisse interdum consectetur. Sit amet consectetur adipiscing elit ut aliquam. Mi ipsum faucibus vitae aliquet nec. Eget egestas purus viverra accumsan in nisl nisi scelerisque eu. Vel orci porta non pulvinar neque laoreet suspendisse interdum consectetur. Justo nec ultrices dui sapien eget mi proin sed. Lacus viverra vitae congue eu consequat. Purus viverra accumsan in nisl nisi scelerisque eu ultrices vitae. Pretium aenean pharetra magna ac placerat vestibulum lectus mauris. Consequat interdum varius sit amet mattis vulputate. Venenatis cras sed felis eget velit. Cursus metus aliquam eleifend mi in nulla posuere sollicitudin aliquam. Tristique senectus et netus et malesuada fames ac. Massa enim nec dui nunc mattis enim ut tellus elementum.`,
405405
policy_url: 'https://test.com',
406+
data_use_permission_term: 'GENERAL_RESEARCH_USE',
407+
data_use_permission_id: 'DUO:0000042',
408+
data_use_modifier_terms: [
409+
'PUBLICATION_REQUIRED',
410+
'INSTITUTION_SPECIFIC_RESTRICTION',
411+
],
412+
data_use_modifier_ids: ['DUO:0000019', 'DUO:0000028'],
406413
},
407414
study: {
408415
accession: 'GHGAS12345678901234',

0 commit comments

Comments
 (0)