grub775.gitverse.ru

Форк
0
152 строки · 4.7 Кб
1
// Import putItemHandler function from put-item.mjs
2
import { Handler } from '../../../src/handler.mjs'
3

4
// This includes all tests for Handler()
5
describe('Test Handler', function () {
6
  // This test invokes Handler() and compare the result
7
  it('Send an email', async () => {
8
    const event = {
9
      httpMethod: 'POST',
10
      headers: {
11
        'Access-Control-Allow-Headers': 'application/json',
12
        'Access-Control-Allow-Origin': undefined,
13
        'Access-Control-Allow-Methods': 'OPTIONS,POST',
14
      },
15
      body: '{"name": "name_name", "email": "email@email.com", "subject": "subject_subject", "message": "message_message"}',
16
    }
17

18
    // Invoke Handler()
19
    const result = await Handler(event)
20

21
    const expectedResult = {
22
      statusCode: 200,
23
      headers: {
24
        'Access-Control-Allow-Headers': 'application/json',
25
        'Access-Control-Allow-Origin': undefined,
26
        'Access-Control-Allow-Methods': 'OPTIONS,POST',
27
      },
28
      body: JSON.stringify({ message: 'ok' }),
29
    }
30

31
    // Compare the result with the expected result
32
    expect(result).toEqual(expectedResult)
33
  })
34

35
  it('Sending an email message with an invalid name', async () => {
36
    const event = {
37
      httpMethod: 'POST',
38
      headers: {
39
        'Access-Control-Allow-Headers': 'application/json',
40
        'Access-Control-Allow-Origin': undefined,
41
        'Access-Control-Allow-Methods': 'OPTIONS,POST',
42
      },
43
      body: '{"name": "n", "email": "email@email.com", "subject": "subject_subject", "message": "message_message"}',
44
    }
45

46
    // Invoke Handler()
47
    const result = await Handler(event)
48

49
    const expectedResult = {
50
      statusCode: 400,
51
      headers: {
52
        'Access-Control-Allow-Headers': 'application/json',
53
        'Access-Control-Allow-Origin': undefined,
54
        'Access-Control-Allow-Methods': 'OPTIONS,POST',
55
      },
56
      body: JSON.stringify({
57
        message: 'the name must be longer than 1 characters',
58
      }),
59
    }
60

61
    // Compare the result with the expected result
62
    expect(result).toEqual(expectedResult)
63
  })
64

65
  it('Send an email with an invalid email address', async () => {
66
    const event = {
67
      httpMethod: 'POST',
68
      headers: {
69
        'Access-Control-Allow-Headers': 'application/json',
70
        'Access-Control-Allow-Origin': undefined,
71
        'Access-Control-Allow-Methods': 'OPTIONS,POST',
72
      },
73
      body: '{"name": "name", "email": "email@email.", "subject": "subject_subject", "message": "message_message"}',
74
    }
75

76
    // Invoke Handler()
77
    const result = await Handler(event)
78

79
    const expectedResult = {
80
      statusCode: 400,
81
      headers: {
82
        'Access-Control-Allow-Headers': 'application/json',
83
        'Access-Control-Allow-Origin': undefined,
84
        'Access-Control-Allow-Methods': 'OPTIONS,POST',
85
      },
86
      body: JSON.stringify({ message: 'unsupported email address type' }),
87
    }
88

89
    // Compare the result with the expected result
90
    expect(result).toEqual(expectedResult)
91
  })
92

93
  it('Sending an email with an invalid subject line', async () => {
94
    const event = {
95
      httpMethod: 'POST',
96
      headers: {
97
        'Access-Control-Allow-Headers': 'application/json',
98
        'Access-Control-Allow-Origin': undefined,
99
        'Access-Control-Allow-Methods': 'OPTIONS,POST',
100
      },
101
      body: '{"name": "name", "email": "email@email.com", "subject": "subj", "message": "message_message"}',
102
    }
103

104
    // Invoke Handler()
105
    const result = await Handler(event)
106

107
    const expectedResult = {
108
      statusCode: 400,
109
      headers: {
110
        'Access-Control-Allow-Headers': 'application/json',
111
        'Access-Control-Allow-Origin': undefined,
112
        'Access-Control-Allow-Methods': 'OPTIONS,POST',
113
      },
114
      body: JSON.stringify({
115
        message: 'the subject must be longer than 5 characters',
116
      }),
117
    }
118

119
    // Compare the result with the expected result
120
    expect(result).toEqual(expectedResult)
121
  })
122

123
  it('Sending an email with an invalid message', async () => {
124
    const event = {
125
      httpMethod: 'POST',
126
      headers: {
127
        'Access-Control-Allow-Headers': 'application/json',
128
        'Access-Control-Allow-Origin': undefined,
129
        'Access-Control-Allow-Methods': 'OPTIONS,POST',
130
      },
131
      body: '{"name": "name", "email": "email@email.com", "subject": "subject_subject", "message": "mess"}',
132
    }
133

134
    // Invoke Handler()
135
    const result = await Handler(event)
136

137
    const expectedResult = {
138
      statusCode: 400,
139
      headers: {
140
        'Access-Control-Allow-Headers': 'application/json',
141
        'Access-Control-Allow-Origin': undefined,
142
        'Access-Control-Allow-Methods': 'OPTIONS,POST',
143
      },
144
      body: JSON.stringify({
145
        message: 'the message must be longer than 5 characters',
146
      }),
147
    }
148

149
    // Compare the result with the expected result
150
    expect(result).toEqual(expectedResult)
151
  })
152
})
153

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.