forked from academind/js-testing-practical-guide-code
-
Notifications
You must be signed in to change notification settings - Fork 0
/
hooks.test.js
52 lines (37 loc) · 1.02 KB
/
hooks.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import { describe, it, expect, beforeAll, beforeEach, afterAll, afterEach } from 'vitest';
import { User } from './hooks';
const testEmail = '[email protected]';
let user;
beforeAll(() => {
user = new User(testEmail);
console.log('Before all tests');
});
beforeEach(() => {
console.log('Before each test');
});
afterEach(() => {
user = new User(testEmail);
console.log('After each test');
});
afterAll(() => {
console.log('After all tests');
});
it('should update the email', () => {
const newTestEmail = '[email protected]';
user.updateEmail(newTestEmail);
expect(user.email).toBe(newTestEmail);
});
it('should have an email property', () => {
expect(user).toHaveProperty('email');
});
it('should store the provided email value', () => {
expect(user.email).toBe(testEmail);
});
it('should clear the email', () => {
user.clearEmail();
expect(user.email).toBe('');
});
it('should still have an email property after clearing the email', () => {
user.clearEmail();
expect(user).toHaveProperty('email');
});