aboutsummaryrefslogtreecommitdiff
path: root/BackEnd/Timeline.Tests/Services/UserDeleteServiceTest.cs
blob: be11564e3dba7c3edef0db9e410f6bebbe6891f0 (plain)
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
using FluentAssertions;
using Microsoft.Extensions.Logging.Abstractions;
using Moq;
using System.Threading.Tasks;
using Timeline.Services;
using Timeline.Services.Exceptions;
using Xunit;

namespace Timeline.Tests.Services
{
    public class UserDeleteServiceTest : DatabaseBasedTest
    {
        private readonly Mock<ITimelineService> _mockTimelineService = new Mock<ITimelineService>();
        private UserDeleteService _service = default!;

        protected override void OnDatabaseCreated()
        {
            _service = new UserDeleteService(NullLogger<UserDeleteService>.Instance, Database, _mockTimelineService.Object);
        }

        [Fact]
        public async Task DeleteRootUser_Should_Throw()
        {
            await _service.Awaiting(s => s.DeleteUser("admin")).Should().ThrowAsync<InvalidOperationOnRootUserException>();
        }
    }
}