-
Notifications
You must be signed in to change notification settings - Fork 0
/
GettingStartedTests.cs
91 lines (74 loc) · 2.43 KB
/
GettingStartedTests.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
using EFCore.MyCustom.Tests.Models;
using System.Linq;
using Xunit;
namespace EFCore.MyCustom.Tests;
public class GettingStartedTests
{
[Fact]
public void Create_AddBlog()
{
using var db = new BloggingContext();
db.Database.EnsureCreated();
db.Add(new Blog { Url = "http://blogs.msdn.com/adonet" });
db.SaveChanges();
}
[Fact]
public void Read_FirstBlog()
{
using var db = new BloggingContext();
db.Database.EnsureCreated();
var firstBlog = new Blog { Url = "http://blogs.msdn.com/adonet" };
db.Add(firstBlog);
db.Add(new Blog { Url = "https://www.billboard.com/" });
db.Add(new Blog { Url = "https://www.wired.com/" });
db.SaveChanges();
var blog = db.Blogs
.OrderBy(b => b.BlogId)
.First();
Assert.Equal(firstBlog.Url, blog.Url);
}
[Fact]
public void Update_UpdateBlogAddPost()
{
using var db = new BloggingContext();
db.Database.EnsureCreated();
db.Add(new Blog { Url = "http://blogs.msdn.com/adonet" });
db.SaveChanges();
var blog = db.Blogs
.OrderBy(b => b.BlogId)
.First();
var updatedUrl = "https://devblogs.microsoft.com/dotnet";
blog.Url = updatedUrl;
blog.Posts.Add(
new Post { Title = "Hello World", Content = "I wrote an app using EF Core!" });
db.SaveChanges();
blog = db.Blogs
.OrderBy(b => b.BlogId)
.First();
Assert.Equal(updatedUrl, blog.Url);
Assert.True(blog.Posts.Any());
}
[Fact]
public void Delete_DeleteBlog()
{
using var db = new BloggingContext();
db.Database.EnsureCreated();
var firstBlog = new Blog { Url = "http://blogs.msdn.com/adonet" };
db.Add(firstBlog);
var secondBlog = "https://www.billboard.com/";
db.Add(new Blog { Url = secondBlog });
var thirdBlog = "https://www.wired.com/";
db.Add(new Blog { Url = thirdBlog });
db.SaveChanges();
var blog = db.Blogs
.OrderBy(b => b.BlogId)
.First();
Assert.Equal(firstBlog, blog);
db.Remove(blog);
db.SaveChanges();
var blogs = db.Blogs.OrderBy(b => b.BlogId).ToList();
Assert.Equal(2, db.Blogs.Count());
Assert.Equal(secondBlog, blogs[0].Url);
Assert.Equal(thirdBlog, blogs[1].Url);
}
}