ScientificReport
MockProvider.cs
Go to the documentation of this file.
1 using System.Collections.Generic;
2 using System.Linq;
3 using System.Security.Claims;
4 using Microsoft.EntityFrameworkCore;
5 using Moq;
6 
7 namespace ScientificReport.Test
8 {
9  public class MockProvider
10  {
11  public static Mock<DbSet<T>> GetMockSet<T>(IEnumerable<T> testData) where T : class
12  {
13  var list = testData.AsQueryable();
14  var mockSet = new Mock<DbSet<T>>();
15  mockSet.As<IQueryable<T>>().Setup(m => m.Provider).Returns(list.Provider);
16  mockSet.As<IQueryable<T>>().Setup(m => m.Expression).Returns(list.Expression);
17  mockSet.As<IQueryable<T>>().Setup(m => m.ElementType).Returns(list.ElementType);
18  mockSet.As<IQueryable<T>>().Setup(m => m.GetEnumerator()).Returns(list.GetEnumerator());
19  return mockSet;
20  }
21 
22  public static Mock<ClaimsPrincipal> GetMockClaimsPrincipal(string role, string name)
23  {
24  var cp = new Mock<ClaimsPrincipal>();
25  cp.Setup(m => m.IsInRole(role)).Returns(true);
26  cp.Setup(m => m.Identity.Name).Returns(name);
27  return cp;
28  }
29  }
30 }
static Mock< ClaimsPrincipal > GetMockClaimsPrincipal(string role, string name)
Definition: MockProvider.cs:22