From 73bb59fae8c19ca69e8bbb44efac9870b278ef7c Mon Sep 17 00:00:00 2001
From: Viivi Nevalainen <2633-vmneva@users.noreply.gitlab.utu.fi>
Date: Sat, 29 Apr 2023 09:07:37 +0000
Subject: [PATCH] Upload New File

---
 bloglist_frontend/src/components/Blog.test.js | 38 +++++++++++++++++++
 1 file changed, 38 insertions(+)
 create mode 100644 bloglist_frontend/src/components/Blog.test.js

diff --git a/bloglist_frontend/src/components/Blog.test.js b/bloglist_frontend/src/components/Blog.test.js
new file mode 100644
index 0000000..54c5a98
--- /dev/null
+++ b/bloglist_frontend/src/components/Blog.test.js
@@ -0,0 +1,38 @@
+import React from 'react'
+import '@testing-library/jest-dom/extend-expect'
+import { render, screen } from '@testing-library/react'
+import userEvent from '@testing-library/user-event'
+import Blog from './Blog'
+
+  const loggedUser = {
+    username: "mluukkai",
+    name: "Matti Luukkainen"
+  }
+
+  test('renders title and author', async () => {
+    const blog = {
+      title: 'Title is rendered okay',
+      author: 'Test Author',
+      user: "mluukkai"
+    }
+    render(<Blog blog={blog} user={loggedUser} />)
+    const element = screen.getByText('Title is rendered okay by Test Author')
+    expect(element).toBeDefined()
+  })
+  
+  test('clicking the likebutton calls event handler twice', async () => {
+    const blog = {
+      title: 'Component testing is done with react-testing-library',
+      user: "mluukkai"
+    }
+    const mockHandler = jest.fn()
+    render(
+      <Blog blog={blog} addLike={mockHandler} user={loggedUser} />
+    )
+    const user = userEvent.setup()
+    const button = screen.getByText('like')
+    await user.click(button)
+    await user.click(button)
+  
+    expect(mockHandler.mock.calls).toHaveLength(2)
+  })
\ No newline at end of file
-- 
GitLab