diff --git a/cypress/e2e/builder/main.cy.ts b/cypress/e2e/builder/main.cy.ts index 8965659..02ff190 100644 --- a/cypress/e2e/builder/main.cy.ts +++ b/cypress/e2e/builder/main.cy.ts @@ -1,6 +1,10 @@ import { Context, PermissionLevel } from '@graasp/sdk'; -import { BUILDER_VIEW_CY, buildDataCy } from '../../../src/config/selectors'; +import { + BUILDER_VIEW_CY, + PLAYER_VIEW_CY, + buildDataCy, +} from '../../../src/config/selectors'; describe('Builder View', () => { beforeEach(() => { @@ -8,16 +12,30 @@ describe('Builder View', () => { {}, { context: Context.Builder, - permission: PermissionLevel.Read, + permission: PermissionLevel.Admin, }, ); cy.visit('/'); }); it('App', () => { - cy.get(buildDataCy(BUILDER_VIEW_CY)).should( - 'contain.text', - 'Builder as read', + cy.get(buildDataCy(BUILDER_VIEW_CY)).should('be.visible'); + }); +}); + +describe('Builder View as Reader', () => { + beforeEach(() => { + cy.setUpApi( + {}, + { + context: Context.Builder, + permission: PermissionLevel.Read, + }, ); + cy.visit('/'); + }); + + it('App', () => { + cy.get(buildDataCy(PLAYER_VIEW_CY)).should('be.visible'); }); }); diff --git a/cypress/e2e/player/main.cy.ts b/cypress/e2e/player/main.cy.ts index 57df7cb..8e1bc66 100644 --- a/cypress/e2e/player/main.cy.ts +++ b/cypress/e2e/player/main.cy.ts @@ -2,22 +2,19 @@ import { Context, PermissionLevel } from '@graasp/sdk'; import { PLAYER_VIEW_CY, buildDataCy } from '../../../src/config/selectors'; -describe('Player View', () => { +describe('Player View as Reader', () => { beforeEach(() => { cy.setUpApi( {}, { context: Context.Player, - permission: PermissionLevel.Write, + permission: PermissionLevel.Read, }, ); cy.visit('/'); }); it('App', () => { - cy.get(buildDataCy(PLAYER_VIEW_CY)).should( - 'contain.text', - 'Player as write', - ); + cy.get(buildDataCy(PLAYER_VIEW_CY)).should('be.visible'); }); }); diff --git a/src/main.tsx b/src/main.tsx index 7641939..36c292e 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -25,7 +25,7 @@ Sentry.init({ if (MOCK_API) { mockApi( { - externalUrls: [], + externalUrls: [({ url }) => url.includes('BuildBoxRace')], dbName: window.Cypress ? 'graasp-app-cypress' : undefined, appContext: window.Cypress ? window.appContext : defaultMockContext, database: window.Cypress ? window.database : buildDatabase(mockMembers), diff --git a/src/modules/main/BuilderView.tsx b/src/modules/main/BuilderView.tsx index 5612652..20fedd1 100644 --- a/src/modules/main/BuilderView.tsx +++ b/src/modules/main/BuilderView.tsx @@ -11,6 +11,7 @@ import { PermissionLevel } from '@graasp/sdk'; import { BUILDER_VIEW_CY } from '@/config/selectors'; import AnalyticsView from './AnalyticsView'; +import PlayerView from './PlayerView'; import SettingsView from './SettingsView'; import UnityView from './UnityView'; @@ -25,46 +26,48 @@ const BuilderView = (): JSX.Element => { const { permission } = useLocalContext(); const [activeTab, setActiveTab] = useState(Tabs.SIM_SETTINGS_VIEW); - - return ( - - - setActiveTab(newTabs)} - centered - textColor="secondary" - indicatorColor="secondary" - > - } - iconPosition="start" - /> - } - iconPosition="start" - /> - } - iconPosition="start" - /> - - - - - - {permission === PermissionLevel.Admin && } - - - - - - - ); + if (permission === PermissionLevel.Admin) { + return ( + + + setActiveTab(newTabs)} + centered + textColor="secondary" + indicatorColor="secondary" + > + } + iconPosition="start" + /> + } + iconPosition="start" + /> + } + iconPosition="start" + /> + + + + + + + + + + + + + ); + } + return ; }; export default BuilderView;