From f701fc9c93de0cde04bb02ea6b3cdd544aebe0e6 Mon Sep 17 00:00:00 2001 From: "Daniel J. Summers" Date: Fri, 26 Jan 2024 17:27:04 -0500 Subject: [PATCH] Add data test for Page.All --- src/MyWebLog.Data/Interfaces.fs | 2 +- src/MyWebLog.Tests/Data/PageDataTests.fs | 10 ++++++++++ src/MyWebLog.Tests/Data/PostgresDataTests.fs | 3 +++ src/MyWebLog.Tests/Data/SQLiteDataTests.fs | 5 +++++ 4 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/MyWebLog.Data/Interfaces.fs b/src/MyWebLog.Data/Interfaces.fs index 15d8069..a05d6b5 100644 --- a/src/MyWebLog.Data/Interfaces.fs +++ b/src/MyWebLog.Data/Interfaces.fs @@ -54,7 +54,7 @@ type IPageData = /// Add a page abstract member Add : Page -> Task - /// Get all pages for the web log (excluding meta items, text, revisions, and prior permalinks) + /// Get all pages for the web log (excluding revisions) abstract member All : WebLogId -> Task /// Count all pages for the given web log diff --git a/src/MyWebLog.Tests/Data/PageDataTests.fs b/src/MyWebLog.Tests/Data/PageDataTests.fs index 3b04430..0017066 100644 --- a/src/MyWebLog.Tests/Data/PageDataTests.fs +++ b/src/MyWebLog.Tests/Data/PageDataTests.fs @@ -5,6 +5,9 @@ open MyWebLog open MyWebLog.Data open NodaTime +/// The ID of the root web log +let rootId = WebLogId "uSitJEuD3UyzWC9jgOHc8g" + let ``Add succeeds`` (data: IData) = task { let page = { Id = PageId "added-page" @@ -43,3 +46,10 @@ let ``Add succeeds`` (data: IData) = task { Expect.equal pg.Revisions[0].AsOf page.Revisions[0].AsOf "Revision as of not saved properly" Expect.equal pg.Revisions[0].Text page.Revisions[0].Text "Revision text not saved properly" } + +let ``All succeeds`` (data: IData) = task { + let! pages = data.Page.All rootId + Expect.hasLength pages 2 "There should have been 4 pages retrieved" + Expect.isEmpty pages[0].Revisions "Page 0 should have had no revisions" + Expect.isEmpty pages[1].Revisions "Page 1 should have had no revisions" +} diff --git a/src/MyWebLog.Tests/Data/PostgresDataTests.fs b/src/MyWebLog.Tests/Data/PostgresDataTests.fs index dc553e5..d7c4d3b 100644 --- a/src/MyWebLog.Tests/Data/PostgresDataTests.fs +++ b/src/MyWebLog.Tests/Data/PostgresDataTests.fs @@ -105,6 +105,9 @@ let pageTests = testList "Page" [ testTask "Add succeeds" { do! PageDataTests.``Add succeeds`` (mkData ()) } + testTask "All succeeds" { + do! PageDataTests.``All succeeds`` (mkData ()) + } ] /// Drop the throwaway PostgreSQL database diff --git a/src/MyWebLog.Tests/Data/SQLiteDataTests.fs b/src/MyWebLog.Tests/Data/SQLiteDataTests.fs index 2f06919..08edc8b 100644 --- a/src/MyWebLog.Tests/Data/SQLiteDataTests.fs +++ b/src/MyWebLog.Tests/Data/SQLiteDataTests.fs @@ -148,6 +148,11 @@ let pageTests = testList "Page" [ try do! PageDataTests.``Add succeeds`` data finally dispose data } + testTask "All succeeds" { + let data = mkData () + try do! PageDataTests.``All succeeds`` data + finally dispose data + } ] /// Delete the SQLite database