e2e/test/specs/01-session.js (view raw)
1'use strict'
2
3/* global browser, describe, it, expect */
4/* eslint-disable new-cap */
5
6const config = require('../')
7const Login = require('../pages/login')
8const Mail = require('../pages/mail')
9
10describe('Session', () => {
11 it('requires login', () => {
12 expect(() => Mail.open(500)).toThrow()
13 expect(browser).toHaveTitle('Login')
14 })
15
16 it('requires email', () => {
17 Login.open()
18 expect(() => Login.authenticate('', config.user.password, 500)).toThrow()
19 expect(browser).toHaveTitle('Login')
20 })
21
22 it('requires password', () => {
23 Login.open()
24 expect(() => Login.authenticate(config.user.email, '', 500)).toThrow()
25 expect(browser).toHaveTitle('Login')
26 })
27
28 it('logs in', () => {
29 Login.open()
30 expect(browser).toHaveTitle('Login')
31 browser.saveAndDiffScreenshot('Login')
32 Login.authenticate(config.user.email, config.user.password)
33 expect(browser).toHaveTitle('Send mail')
34 })
35
36 it('logs out', () => {
37 Mail.open().logout()
38 expect(() => Mail.open(500)).toThrow()
39 expect(browser).toHaveTitle('Login')
40 })
41})