mattermost-mobile/app/components/channel_list/index.test.tsx
Daniel Espino García 7c642b1e80
[Gekidou] Extract common observers to queries (#5984)
* Extract common observers to queries

* Separate also queries and more agressive refactoring

* Use query to avoid throws from findAndObserve

* Fix minor error

* Address feedback

* Address feedback

* Address feedback

* Fix model types

* Address feedback
2022-03-23 09:19:29 -03:00

72 lines
2.2 KiB
TypeScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import Database from '@nozbe/watermelondb/Database';
import React from 'react';
import {SafeAreaProvider} from 'react-native-safe-area-context';
import {getTeamById} from '@queries/servers/team';
import {renderWithEverything} from '@test/intl-test-helper';
import TestHelper from '@test/test_helper';
import ChannelsList from './';
describe('components/channel_list', () => {
let database: Database;
beforeAll(async () => {
const server = await TestHelper.setupServerDatabase();
database = server.database;
const team = await getTeamById(database, TestHelper.basicTeam!.id);
await database.write(async () => {
await team?.update(() => {
team.displayName = 'Test Team!';
});
});
});
it('should render', () => {
const wrapper = renderWithEverything(
<SafeAreaProvider>
<ChannelsList
isTablet={false}
teamsCount={1}
currentTeamId={TestHelper.basicTeam!.id}
channelsCount={1}
/>
</SafeAreaProvider>,
{database},
);
expect(wrapper.toJSON()).toBeTruthy();
});
it('should render team error', () => {
const wrapper = renderWithEverything(
<SafeAreaProvider>
<ChannelsList
isTablet={false}
teamsCount={0}
currentTeamId='TestHelper.basicTeam!.id'
channelsCount={1}
/>
</SafeAreaProvider>,
{database},
);
expect(wrapper.toJSON()).toMatchSnapshot();
});
it('should render channels error', () => {
const wrapper = renderWithEverything(
<SafeAreaProvider>
<ChannelsList
isTablet={false}
teamsCount={1}
currentTeamId={TestHelper.basicTeam!.id}
channelsCount={0}
/>
</SafeAreaProvider>,
{database},
);
expect(wrapper.toJSON()).toMatchSnapshot();
});
});