-
-
Notifications
You must be signed in to change notification settings - Fork 96
/
ApiArchitecturalTests.cs
43 lines (38 loc) · 1.45 KB
/
ApiArchitecturalTests.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
using System;
using HappyCode.NetCoreBoilerplate.Api;
using HappyCode.NetCoreBoilerplate.Api.Controllers;
using NetArchTest.Rules;
using Xunit;
namespace HappyCode.NetCoreBoilerplate.ArchitecturalTests
{
public class ApiArchitecturalTests
{
private static readonly Types _apiTypes = Types.InAssembly(typeof(Startup).Assembly);
[Fact]
public void Controllers_should_inherit_from_ApiControllerBase()
{
var result = _apiTypes
.That()
.ResideInNamespace("HappyCode.NetCoreBoilerplate.Api.Controllers")
.And()
.AreNotAbstract()
.Should()
.Inherit(typeof(ApiControllerBase))
.GetResult();
Assert.True(result.IsSuccessful, $"Failing Types: {string.Join("; ", result.FailingTypeNames ?? Array.Empty<string>())}");
}
[Fact]
public void Controllers_should_have_Controller_suffix()
{
var result = _apiTypes
.That()
.ResideInNamespace("HappyCode.NetCoreBoilerplate.Api.Controllers")
.And()
.AreNotAbstract()
.Should()
.HaveNameEndingWith("Controller")
.GetResult();
Assert.True(result.IsSuccessful, $"Failing Types: {string.Join("; ", result.FailingTypeNames ?? Array.Empty<string>())}");
}
}
}