123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- const validateForm = require('./регистрация1.js');
- test('отсутствует имя', () => {
- const name = '';
- const phone = '+79092970715';
- const email = 'damir@example.com';
- const code = "123456";
- const password = 'password123';
-
- const result = validateForm(name, phone, email, code, password);
- expect(result).toBe(false);
- });
- test('неверный формат телефона', () => {
- const name = 'Газизов Дамир Рамилевич';
- const phone = '89092970715'; // Неверный формат
- const email = 'damir@example.com';
- const code = "123456";
- const password = 'password123';
-
- const result = validateForm(name, phone, email, code, password);
- expect(result).toBe(false);
- });
- test('неверный формат email', () => {
- const name = 'Газизов Дамир Рамилевич';
- const phone = '+79092970715';
- const email = 'damir@example'; // Неверный формат
- const code = "123456";
- const password = 'password123';
-
- const result = validateForm(name, phone, email, code, password);
- expect(result).toBe(false);
- });
- test('отсутствует код', () => {
- const name = 'Газизов Дамир Рамилевич';
- const phone = '+79092970715';
- const email = 'damir@example.com';
- const code = "";
- const password = 'password123';
-
- const result = validateForm(name, phone, email, code, password);
- expect(result).toBe(false);
- });
- const { toggleFAQSection, initFAQ } = require('./структура1.js');
- // Моки для DOM-элементов
- const mockSection = {
- querySelector: jest.fn((selector) => {
- switch (selector) {
- case '.faq-title':
- return {
- addEventListener: jest.fn((event, callback) => {
- if (event === 'click') {
- callback(); // Сразу вызываем callback при клике
- }
- }),
- };
- case '.faq-questions':
- return {
- style: { display: 'none' },
- };
- case '.fas':
- return {
- classList: {
- toggle: jest.fn((className) => {
- if (className === 'fa-minus') {
- this.currentClass = className;
- } else {
- this.currentClass = 'fa-plus'; // Имитация начального состояния
- }
- }),
- contains: jest.fn(() => {
- return this.currentClass === 'fa-minus';
- }),
- },
- };
- default:
- return null;
- }
- }),
- };
-
- describe('toggleFAQSection', () => {
- test('скрывает вопросы, если они были показаны', () => {
- mockSection.querySelector.mockReturnValueOnce({ style: { display: 'block' } });
- toggleFAQSection(mockSection);
- expect(mockSection.querySelector).toHaveBeenCalledWith('.faq-questions');
- expect(mockSection.querySelector('.faq-questions').style.display).toBe('none');
- });
-
- test('показывает вопросы, если они были скрыты', () => {
- mockSection.querySelector.mockReturnValueOnce({ style: { display: 'none' } });
- toggleFAQSection(mockSection);
- expect(mockSection.querySelector).toHaveBeenCalledWith('.faq-questions');
- });
- });
- // scroll.test.js
- const { scrollFunction, scrollToTop, initScroll } = require('./скроллинг1.js');
- // Моки для DOM-элементов
- const mockHomeSection = {
- // ... (могут быть добавлены свойства для проверки, если нужно)
- };
- const mockScrollTopBtn = {
- style: {
- display: ''
- }
- };
- const mockWindow = {
- pageYOffset: 0,
- scrollTo: jest.fn()
- };
- // Заменяем `window` и `document.getElementById` на наши моки
- global.window = mockWindow;
- global.document = {
- getElementById: jest.fn((id) => {
- if (id === 'home') {
- return mockHomeSection;
- } else if (id === 'scrollTopBtn') {
- return mockScrollTopBtn;
- }
- })
- };
- test('scrollFunction: отображает кнопку "Вверх", если прокрутка больше 200 пикселей', () => {
- mockWindow.pageYOffset = 201;
- scrollFunction(mockHomeSection, mockScrollTopBtn);
- expect(mockScrollTopBtn.style.display).toBe('block');
- });
- test('scrollFunction: скрывает кнопку "Вверх", если прокрутка меньше 200 пикселей', () => {
- mockWindow.pageYOffset = 199;
- scrollFunction(mockHomeSection, mockScrollTopBtn);
- expect(mockScrollTopBtn.style.display).toBe('none');
- });
- const { showPopup, closePopup } = require('./сотрудники1.js');
- // Моки для DOM-элементов
- const mockPopupElement = {
- style: {
- display: ''
- }
- };
- // Заменяем document.getElementById на наш мок
- global.document = {
- getElementById: jest.fn(() => mockPopupElement)
- };
- describe('showPopup', () => {
- test('устанавливает стиль отображения попапа на "block"', () => {
- showPopup('popupId');
- expect(document.getElementById).toHaveBeenCalledWith('popupId');
- expect(mockPopupElement.style.display).toBe('block');
- });
- test('корректно обрабатывает неверный ID попапа', () => {
- showPopup('nonexistentPopupId');
- expect(document.getElementById).toHaveBeenCalledWith('nonexistentPopupId');
- });
- });
- describe('closePopup', () => {
- test('устанавливает стиль отображения попапа на "none"', () => {
- closePopup('popupId');
- expect(document.getElementById).toHaveBeenCalledWith('popupId');
- expect(mockPopupElement.style.display).toBe('none');
- });
- test('корректно обрабатывает неверный ID попапа', () => {
- closePopup('nonexistentPopupId');
- expect(document.getElementById).toHaveBeenCalledWith('nonexistentPopupId');
- });
- });
|