using System; using System.Collections.Generic; using System.Data; using System.Threading.Tasks; using Dapper; using FluentAssertions; using NSubstitute; using NSubstitute.ExceptionExtensions; using Website.Data; using Website.Data.States; using Website.Models; using Xunit; namespace Website.Tests.Data { public class BlogRepositoryTests { // [Fact] // public void GetPostAsync_WithValidId_ReturnsBlogPost() { // var blogPostState = new BlogPostState // { // Post_Id = 1, // Post_Title = "title", // Post_Content = "content", // Post_Timestamp = new DateTime(), // Post_Deleted = false, // Post_Draft = "draft", // Post_Url = "url", // User_Id = 1 // }; // var connection = Substitute.For(); // connection.QueryAsync(null, null, (Func)null, null, null, false, null, null, null).ReturnsForAnyArgs(new[]{ blogPostState }); // var provider = Substitute.For(); // provider.NewConnection().Returns(connection); // var repo = new BlogRepository(provider); // var post = repo.GetPostAsync(1); // var expected = new BlogPost // { // Id = 1, // Title = "title", // Content = "content", // Timestamp = new DateTime(), // Draft = "draft", // Url = "url", // UserId = 1 // }; ; // post.Should().BeEquivalentTo(expected); // } //public async Task GetPostAsync_WithInvalidId_ReturnsNull() //public async Task GetPostAsync_WithDeletedPost_ReturnsNull() } }