cy.createGroup(activeUser.token, {
name: `Test root project ${Math.floor(Math.random() * 999999)}`,
group_class: 'project',
- }).as('testProject1');
+ }).as('testProject1').then((testProject1) => {
+ cy.shareWith(adminUser.token, activeUser.user.uuid, testProject1.uuid, 'can_write');
+ });
cy.getAll('@testProject1').then(function([testProject1]) {
cy.loginAs(activeUser);
cy.get('[data-cy=search-input] input').should('not.have.value', 'test123');
});
});
+
+ it('opens advanced popup for project with username', () => {
+ const projectName = `Test project ${Math.floor(Math.random() * 999999)}`;
+
+ cy.createGroup(adminUser.token, {
+ name: projectName,
+ group_class: 'project',
+ }).as('mainProject')
+
+ cy.getAll('@mainProject')
+ .then(function ([mainProject]) {
+ cy.loginAs(adminUser);
+
+ cy.get('[data-cy=side-panel-tree]').contains('Groups').click();
+
+ cy.get('[data-cy=uuid]').eq(0).invoke('text').then(uuid => {
+ cy.createLink(adminUser.token, {
+ name: 'can_write',
+ link_class: 'permission',
+ head_uuid: mainProject.uuid,
+ tail_uuid: uuid
+ });
+
+ cy.createLink(adminUser.token, {
+ name: 'can_write',
+ link_class: 'permission',
+ head_uuid: mainProject.uuid,
+ tail_uuid: activeUser.user.uuid
+ });
+
+ cy.get('[data-cy=side-panel-tree]').contains('Projects').click();
+
+ cy.get('main').contains(projectName).rightclick();
+
+ cy.get('[data-cy=context-menu]').contains('Advanced').click();
+
+ cy.get('[role=tablist]').contains('METADATA').click();
+
+ cy.get('td').contains(uuid).should('exist');
+
+ cy.get('td').contains(activeUser.user.uuid).should('exist');
+ });
+ });
+ });
});
\ No newline at end of file
.addEqual('head_uuid', uuid)
.getFilters()
});
- const user = metadata.itemsAvailable && await services.userService.get(metadata.items[0].tailUuid || '');
- return { data, metadata, user };
+
+ return { data, metadata };
};
const initAdvancedTabDialog = (data: AdvancedTabDialogData) => dialogActions.OPEN_DIALOG({ id: ADVANCED_TAB_DIALOG, data });
curlHeader,
curlExample,
uuid,
- user
} = this.props.data;
return <Dialog
open={open}
</Tabs>
<DialogContent className={classes.content}>
{value === 0 && <div>{dialogContentExample(apiResponse, classes)}</div>}
- {value === 1 && <div>{metadata !== '' && metadata.items.length > 0 ? <MetadataTab items={metadata.items} uuid={uuid} user={user} /> : dialogContentHeader('(No metadata links found)')}</div>}
+ {value === 1 && <div>
+ {metadata !== '' && metadata.items.length > 0 ?
+ <MetadataTab items={metadata.items} uuid={uuid} />
+ : dialogContentHeader('(No metadata links found)')}
+ </div>}
{value === 2 && dialogContent(pythonHeader, pythonExample, classes)}
{value === 3 && <div>
{dialogContent(cliGetHeader, cliGetExample, classes)}
import React from "react";
import { Table, TableHead, TableCell, TableRow, TableBody, StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core';
-import { UserResource, getUserDisplayName } from "models/user";
type CssRules = 'cell';
interface MetadataProps {
items: MetadataTable[];
- user: UserResource;
uuid: string;
}
<TableCell className={props.classes.cell}>{it.uuid}</TableCell>
<TableCell className={props.classes.cell}>{it.linkClass}</TableCell>
<TableCell className={props.classes.cell}>{it.name}</TableCell>
- <TableCell className={props.classes.cell}>{props.user && `User: ${getUserDisplayName(props.user)}`}</TableCell>
+ <TableCell className={props.classes.cell}>{it.tailUuid}</TableCell>
<TableCell className={props.classes.cell}>{it.headUuid === props.uuid ? 'this' : it.headUuid}</TableCell>
<TableCell className={props.classes.cell}>{JSON.stringify(it.properties)}</TableCell>
</TableRow>