Skip to content

Commit

Permalink
refactor: Factorize project fixture to conftest.py
Browse files Browse the repository at this point in the history
  • Loading branch information
augustebaum committed Oct 4, 2024
1 parent 99de7f4 commit 55474da
Show file tree
Hide file tree
Showing 3 changed files with 119 additions and 128 deletions.
14 changes: 14 additions & 0 deletions tests/conftest.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
from datetime import UTC, datetime

import pytest
from skore.item.item_repository import ItemRepository
from skore.persistence.in_memory_storage import InMemoryStorage
from skore.project import Project
from skore.view.view_repository import ViewRepository


@pytest.fixture
Expand All @@ -23,3 +27,13 @@ def now(*args, **kwargs):
return mock_now

return MockDatetime


@pytest.fixture
def in_memory_project():
item_repository = ItemRepository(storage=InMemoryStorage())
view_repository = ViewRepository(storage=InMemoryStorage())
return Project(
item_repository=item_repository,
view_repository=view_repository,
)
32 changes: 9 additions & 23 deletions tests/integration/ui/test_ui.py
Original file line number Diff line number Diff line change
@@ -1,26 +1,12 @@
import pytest
from fastapi.testclient import TestClient
from skore.item.item_repository import ItemRepository
from skore.persistence.in_memory_storage import InMemoryStorage
from skore.project import Project
from skore.ui.app import create_app
from skore.view.view import View
from skore.view.view_repository import ViewRepository


@pytest.fixture
def project():
item_repository = ItemRepository(storage=InMemoryStorage())
view_repository = ViewRepository(storage=InMemoryStorage())
return Project(
item_repository=item_repository,
view_repository=view_repository,
)


@pytest.fixture
def client(project):
return TestClient(app=create_app(project=project))
def client(in_memory_project):
return TestClient(app=create_app(project=in_memory_project))


def test_app_state(client):
Expand All @@ -34,14 +20,14 @@ def test_skore_ui_index(client):
assert b"<!DOCTYPE html>" in response.content


def test_get_items(client, project):
def test_get_items(client, in_memory_project):
response = client.get("/api/project/items")

assert response.status_code == 200
assert response.json() == {"views": {}, "items": {}}

project.put("test", "test")
item = project.get_item("test")
in_memory_project.put("test", "test")
item = in_memory_project.get_item("test")

response = client.get("/api/project/items")
assert response.status_code == 200
Expand All @@ -58,8 +44,8 @@ def test_get_items(client, project):
}


def test_share_view(client, project):
project.put_view("hello", View(layout=[]))
def test_share_view(client, in_memory_project):
in_memory_project.put_view("hello", View(layout=[]))

response = client.post("/api/project/views/share?key=hello")
assert response.status_code == 200
Expand All @@ -76,8 +62,8 @@ def test_put_view_layout(client):
assert response.status_code == 201


def test_delete_view(client, project):
project.put_view("hello", View(layout=[]))
def test_delete_view(client, in_memory_project):
in_memory_project.put_view("hello", View(layout=[]))
response = client.delete("/api/project/views?key=hello")
assert response.status_code == 202

Expand Down
Loading

0 comments on commit 55474da

Please sign in to comment.