import React from 'react'; import { buildGroup, buildGroupRelationship } from 'soapbox/jest/factory'; import { render, screen } from 'soapbox/jest/test-helpers'; import { GroupRoles } from 'soapbox/schemas/group-member'; import { Group } from 'soapbox/types/entities'; import GroupRelationship from '../group-relationship'; let group: Group; describe('', () => { describe('when the user is an admin', () => { beforeEach(() => { group = buildGroup({ relationship: buildGroupRelationship({ requested: false, member: true, role: GroupRoles.ADMIN, }), }); }); it('should render the relationship', () => { render(); expect(screen.getByTestId('group-relationship')).toHaveTextContent('Admin'); }); }); describe('when the user is an owner', () => { beforeEach(() => { group = buildGroup({ relationship: buildGroupRelationship({ requested: false, member: true, role: GroupRoles.OWNER, }), }); }); it('should render the relationship', () => { render(); expect(screen.getByTestId('group-relationship')).toHaveTextContent('Owner'); }); }); describe('when the user is a member', () => { beforeEach(() => { group = buildGroup({ relationship: buildGroupRelationship({ requested: false, member: true, role: GroupRoles.USER, }), }); }); it('should render null', () => { render(); expect(screen.queryAllByTestId('group-relationship')).toHaveLength(0); }); }); });