aboutsummaryrefslogtreecommitdiff
path: root/Timeline.Tests/Controllers/UserDetailControllerTest.cs
diff options
context:
space:
mode:
author杨宇千 <crupest@outlook.com>2020-02-01 00:26:35 +0800
committerGitHub <noreply@github.com>2020-02-01 00:26:35 +0800
commitd703269e06d4c9e254fe2d5589ff04cdd6a9b366 (patch)
treef02f8d57440c777d4732bc4439f82e8b25c6732c /Timeline.Tests/Controllers/UserDetailControllerTest.cs
parent631731e5c2253116a53fdc435afca184251a34fc (diff)
parentbddf1d6eaac782672071df6527c40c81c3123f3a (diff)
downloadtimeline-d703269e06d4c9e254fe2d5589ff04cdd6a9b366.tar.gz
timeline-d703269e06d4c9e254fe2d5589ff04cdd6a9b366.tar.bz2
timeline-d703269e06d4c9e254fe2d5589ff04cdd6a9b366.zip
Merge pull request #56 from crupest/dev
Refactor API to be RESTful.
Diffstat (limited to 'Timeline.Tests/Controllers/UserDetailControllerTest.cs')
-rw-r--r--Timeline.Tests/Controllers/UserDetailControllerTest.cs98
1 files changed, 0 insertions, 98 deletions
diff --git a/Timeline.Tests/Controllers/UserDetailControllerTest.cs b/Timeline.Tests/Controllers/UserDetailControllerTest.cs
deleted file mode 100644
index ffd88790..00000000
--- a/Timeline.Tests/Controllers/UserDetailControllerTest.cs
+++ /dev/null
@@ -1,98 +0,0 @@
-using FluentAssertions;
-using Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Mvc;
-using Moq;
-using System;
-using System.ComponentModel.DataAnnotations;
-using System.Threading.Tasks;
-using Timeline.Controllers;
-using Timeline.Filters;
-using Timeline.Models.Validation;
-using Timeline.Services;
-using Timeline.Tests.Helpers;
-using Xunit;
-
-namespace Timeline.Tests.Controllers
-{
- public class UserDetailControllerTest : IDisposable
- {
- private readonly Mock<IUserDetailService> _mockUserDetailService;
- private readonly UserDetailController _controller;
-
- public UserDetailControllerTest()
- {
- _mockUserDetailService = new Mock<IUserDetailService>();
- _controller = new UserDetailController(_mockUserDetailService.Object);
- }
-
- public void Dispose()
- {
- _controller.Dispose();
- }
-
- [Fact]
- public void AttributeTest()
- {
- typeof(UserDetailController).Should().BeDecoratedWith<ApiControllerAttribute>();
-
- var getNickname = typeof(UserDetailController).GetMethod(nameof(UserDetailController.GetNickname));
- getNickname.Should().BeDecoratedWith<HttpGetAttribute>()
- .And.BeDecoratedWith<CatchUserNotExistExceptionAttribute>();
- getNickname.GetParameter("username").Should().BeDecoratedWith<UsernameAttribute>()
- .And.BeDecoratedWith<FromRouteAttribute>();
-
- var putNickname = typeof(UserDetailController).GetMethod(nameof(UserDetailController.PutNickname));
- putNickname.Should().BeDecoratedWith<HttpPutAttribute>()
- .And.BeDecoratedWith<AuthorizeAttribute>()
- .And.BeDecoratedWith<SelfOrAdminAttribute>()
- .And.BeDecoratedWith<CatchUserNotExistExceptionAttribute>();
- putNickname.GetParameter("username").Should().BeDecoratedWith<UsernameAttribute>()
- .And.BeDecoratedWith<FromRouteAttribute>();
- var stringLengthAttributeOnPutBody = putNickname.GetParameter("body").Should().BeDecoratedWith<FromBodyAttribute>()
- .And.BeDecoratedWith<StringLengthAttribute>()
- .Which;
- stringLengthAttributeOnPutBody.MinimumLength.Should().Be(1);
- stringLengthAttributeOnPutBody.MaximumLength.Should().Be(10);
-
- var deleteNickname = typeof(UserDetailController).GetMethod(nameof(UserDetailController.DeleteNickname));
- deleteNickname.Should().BeDecoratedWith<HttpDeleteAttribute>()
- .And.BeDecoratedWith<AuthorizeAttribute>()
- .And.BeDecoratedWith<SelfOrAdminAttribute>()
- .And.BeDecoratedWith<CatchUserNotExistExceptionAttribute>();
- deleteNickname.GetParameter("username").Should().BeDecoratedWith<UsernameAttribute>()
- .And.BeDecoratedWith<FromRouteAttribute>();
- }
-
- [Fact]
- public async Task GetNickname_ShouldWork()
- {
- const string username = "uuu";
- const string nickname = "nnn";
- _mockUserDetailService.Setup(s => s.GetNickname(username)).ReturnsAsync(nickname);
- var actionResult = await _controller.GetNickname(username);
- actionResult.Result.Should().BeAssignableTo<OkObjectResult>(nickname);
- _mockUserDetailService.VerifyAll();
- }
-
- [Fact]
- public async Task PutNickname_ShouldWork()
- {
- const string username = "uuu";
- const string nickname = "nnn";
- _mockUserDetailService.Setup(s => s.SetNickname(username, nickname)).Returns(Task.CompletedTask);
- var actionResult = await _controller.PutNickname(username, nickname);
- actionResult.Should().BeAssignableTo<OkResult>();
- _mockUserDetailService.VerifyAll();
- }
-
- [Fact]
- public async Task DeleteNickname_ShouldWork()
- {
- const string username = "uuu";
- _mockUserDetailService.Setup(s => s.SetNickname(username, null)).Returns(Task.CompletedTask);
- var actionResult = await _controller.DeleteNickname(username);
- actionResult.Should().BeAssignableTo<OkResult>();
- _mockUserDetailService.VerifyAll();
- }
- }
-}