2022-05-28 14:28:12 +09:00
|
|
|
describe('After user signed in', () => {
|
|
|
|
beforeEach(() => {
|
2022-05-31 17:57:01 +09:00
|
|
|
cy.resetState();
|
2022-05-28 14:28:12 +09:00
|
|
|
cy.viewport('macbook-16');
|
|
|
|
|
|
|
|
// インスタンス初期セットアップ
|
2022-05-31 17:57:01 +09:00
|
|
|
cy.registerUser('admin', 'pass', true);
|
2022-05-28 14:28:12 +09:00
|
|
|
|
|
|
|
// ユーザー作成
|
2022-05-31 17:57:01 +09:00
|
|
|
cy.registerUser('alice', 'alice1234');
|
2022-05-28 14:28:12 +09:00
|
|
|
|
2022-05-31 17:57:01 +09:00
|
|
|
cy.login('alice', 'alice1234');
|
2023-05-09 08:01:54 +09:00
|
|
|
|
|
|
|
// アカウント初期設定ウィザード
|
|
|
|
cy.get('[data-cy-user-setup] [data-cy-modal-window-close]').click();
|
|
|
|
cy.get('[data-cy-modal-dialog-ok]').click();
|
2022-05-28 14:28:12 +09:00
|
|
|
});
|
|
|
|
|
|
|
|
afterEach(() => {
|
|
|
|
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
|
|
|
|
// waitを入れることでそれを防止できる
|
|
|
|
cy.wait(1000);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('widget edit toggle is visible', () => {
|
2023-05-09 07:49:53 +09:00
|
|
|
cy.get('[data-cy-widget-edit]').should('be.visible');
|
2022-05-28 14:28:12 +09:00
|
|
|
});
|
|
|
|
|
|
|
|
it('widget select should be visible in edit mode', () => {
|
2023-05-09 07:49:53 +09:00
|
|
|
cy.get('[data-cy-widget-edit]').click();
|
|
|
|
cy.get('[data-cy-widget-select]').should('be.visible');
|
2022-05-28 14:28:12 +09:00
|
|
|
});
|
|
|
|
|
|
|
|
it('first widget should be removed', () => {
|
2023-05-09 07:49:53 +09:00
|
|
|
cy.get('[data-cy-widget-edit]').click();
|
2023-03-09 19:59:11 +09:00
|
|
|
cy.get('[data-cy-customize-container]:first-child [data-cy-customize-container-remove]._button').click();
|
|
|
|
cy.get('[data-cy-customize-container]').should('have.length', 2);
|
2022-05-28 14:28:12 +09:00
|
|
|
});
|
|
|
|
|
|
|
|
function buildWidgetTest(widgetName) {
|
|
|
|
it(`${widgetName} widget should get added`, () => {
|
2023-05-09 07:49:53 +09:00
|
|
|
cy.get('[data-cy-widget-edit]').click();
|
|
|
|
cy.get('[data-cy-widget-select] select').select(widgetName, { force: true });
|
2023-03-09 19:59:11 +09:00
|
|
|
cy.get('[data-cy-bg]._modalBg[data-cy-transparent]').click({ multiple: true, force: true });
|
2023-05-09 07:49:53 +09:00
|
|
|
cy.get('[data-cy-widget-add]').click({ force: true });
|
2023-03-09 19:59:11 +09:00
|
|
|
cy.get(`[data-cy-mkw-${widgetName}]`).should('exist');
|
2022-05-28 14:28:12 +09:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
buildWidgetTest('memo');
|
|
|
|
buildWidgetTest('notifications');
|
|
|
|
buildWidgetTest('timeline');
|
|
|
|
buildWidgetTest('calendar');
|
|
|
|
buildWidgetTest('rss');
|
|
|
|
buildWidgetTest('trends');
|
|
|
|
buildWidgetTest('clock');
|
|
|
|
buildWidgetTest('activity');
|
|
|
|
buildWidgetTest('photos');
|
|
|
|
buildWidgetTest('digitalClock');
|
|
|
|
buildWidgetTest('federation');
|
|
|
|
buildWidgetTest('postForm');
|
|
|
|
buildWidgetTest('slideshow');
|
|
|
|
buildWidgetTest('serverMetric');
|
|
|
|
buildWidgetTest('onlineUsers');
|
|
|
|
buildWidgetTest('jobQueue');
|
|
|
|
buildWidgetTest('button');
|
|
|
|
buildWidgetTest('aiscript');
|
|
|
|
buildWidgetTest('aichan');
|
|
|
|
});
|