aboutsummaryrefslogtreecommitdiff
path: root/Timeline.Tests/UserUnitTest.cs
blob: a4b4dace2f71d952d1f0a18cc2ada483dcc69ac1 (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
28
29
30
31
32
33
34
35
36
using Microsoft.AspNetCore.Mvc.Testing;
using Newtonsoft.Json;
using System.Linq;
using System.Net;
using System.Threading.Tasks;
using Timeline.Entities;
using Timeline.Tests.Helpers;
using Timeline.Tests.Helpers.Authentication;
using Xunit;
using Xunit.Abstractions;

namespace Timeline.Tests
{
    public class UserUnitTest : IClassFixture<WebApplicationFactory<Startup>>
    {
        private readonly WebApplicationFactory<Startup> _factory;

        public UserUnitTest(WebApplicationFactory<Startup> factory, ITestOutputHelper outputHelper)
        {
            _factory = factory.WithTestConfig(outputHelper);
        }

        [Fact]
        public async Task UserTest()
        {
            using (var client = await _factory.CreateClientWithUser("admin", "admin"))
            {
                var res1 = await client.GetAsync("users");
                Assert.Equal(HttpStatusCode.OK, res1.StatusCode);
                var users = JsonConvert.DeserializeObject<UserInfo[]>(await res1.Content.ReadAsStringAsync()).ToList();
                users.Sort(UserInfoComparers.Comparer);
                Assert.Equal(TestMockUsers.MockUserInfos, users, UserInfoComparers.EqualityComparer);
            }
        }
    }
}