From 66db86ae2a66ebd532bbdc67f03a89c8a638cfee Mon Sep 17 00:00:00 2001
From: mannaandpoem <1580466765@qq.com>
Date: Mon, 15 Jan 2024 18:19:57 +0800
Subject: [PATCH] update test_vision.py for mock
---
.../tools/functions/libs/test_vision.py | 48 +++++++++++++++++++
tests/metagpt/tools/functions/test_vision.py | 40 ----------------
2 files changed, 48 insertions(+), 40 deletions(-)
create mode 100644 tests/metagpt/tools/functions/libs/test_vision.py
delete mode 100644 tests/metagpt/tools/functions/test_vision.py
diff --git a/tests/metagpt/tools/functions/libs/test_vision.py b/tests/metagpt/tools/functions/libs/test_vision.py
new file mode 100644
index 000000000..f4f97c46a
--- /dev/null
+++ b/tests/metagpt/tools/functions/libs/test_vision.py
@@ -0,0 +1,48 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+"""
+@Time : 2024/01/15
+@Author : mannaandpoem
+@File : test_vision.py
+"""
+import pytest
+
+from metagpt import logs
+from metagpt.tools.functions.libs.vision import Vision
+
+
+@pytest.fixture
+def mock_webpages():
+ return """```html\n\n
+\n\n```\n
+```css\n.class { ... }\n```\n
+```javascript\nfunction() { ... }\n```\n"""
+
+
+def test_vision_generate_webpages(mocker, mock_webpages):
+ mocker.patch(
+ "metagpt.tools.functions.libs.vision.Vision.generate_web_pages",
+ return_value=mock_webpages
+ )
+ image_path = "image.png"
+ vision = Vision()
+ rsp = vision.generate_web_pages(image_path=image_path)
+ logs.logger.info(rsp)
+ assert "html" in rsp
+ assert "css" in rsp
+ assert "javascript" in rsp
+
+
+def test_save_webpages(mocker, mock_webpages):
+ mocker.patch(
+ "metagpt.tools.functions.libs.vision.Vision.generate_web_pages",
+ return_value=mock_webpages
+ )
+ image_path = "image.png"
+ vision = Vision()
+ webpages = vision.generate_web_pages(image_path)
+ webpages_dir = vision.save_webpages(image_path=image_path, webpages=webpages)
+ logs.logger.info(webpages_dir)
+ assert webpages_dir.exists()
+
+
diff --git a/tests/metagpt/tools/functions/test_vision.py b/tests/metagpt/tools/functions/test_vision.py
deleted file mode 100644
index 0359f14f1..000000000
--- a/tests/metagpt/tools/functions/test_vision.py
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-"""
-@Time : 2024/01/15
-@Author : mannaandpoem
-@File : test_vision.py
-"""
-import base64
-from unittest.mock import AsyncMock
-
-from pytest_mock import mocker
-
-from metagpt import logs
-from metagpt.tools.functions.libs.vision import Vision
-
-
-def test_vision_generate_web_pages():
- image_path = "./image.png"
- vision = Vision()
- rsp = vision.generate_web_pages(image_path=image_path)
- logs.logger.info(rsp)
- assert "html" in rsp
- assert "css" in rsp
- assert "javascript" in rsp
-
-
-def test_save_webpages():
- image_path = "./image.png"
- vision = Vision()
- webpages = """```html: \n
- \n```
- "```css: .class { ... } ```\n ```javascript: function() { ... }```"""
- webpages_dir = vision.save_webpages(image_path=image_path, webpages=webpages)
- logs.logger.info(webpages_dir)
- assert webpages_dir.exists()
- assert (webpages_dir / "index.html").exists()
- assert (webpages_dir / "style.css").exists() or (webpages_dir / "styles.css").exists()
- assert (webpages_dir / "script.js").exists() or (webpages_dir / "scripts.js").exists()
-
-