public async Task GetByIdAsync_EntryExists_ReturnsEntry()
        {
            // Arrange
            using var dbContext = CreateDbContext();

            var user = await CreateTestUserAsync(dbContext);

            var entry = await CreateWorkEntry(dbContext, user.Id);

            var userContextAccessorMock = new Mock <IUserContextAccessor>();

            userContextAccessorMock.Setup(m => m.GetUserId()).Returns(user.Id);
            userContextAccessorMock.Setup(m => m.IsAdminUser()).Returns(false);

            var workEntriesService = new WorkEntriesService(dbContext, Mock.Of <IDbErrorHandler>(), userContextAccessorMock.Object);

            // Act
            var entryResult = await workEntriesService.GetByIdAsync(entry.Id);

            // Assert
            AssertEqual(entry, entryResult);
        }
        public async Task GetByIdAsync_FilterByUserIdTest(bool isAdmin, bool resultShouldBeNull)
        {
            // Arrange
            using var dbContext = CreateDbContext();

            var user = await CreateTestUserAsync(dbContext);

            var anotherUser = await CreateTestUserAsync(dbContext);

            var entry = await CreateWorkEntry(dbContext, anotherUser.Id);

            var userContextAccessorMock = new Mock <IUserContextAccessor>();

            userContextAccessorMock.Setup(m => m.GetUserId()).Returns(user.Id);
            userContextAccessorMock.Setup(m => m.IsAdminUser()).Returns(isAdmin);

            var workEntriesService = new WorkEntriesService(dbContext, Mock.Of <IDbErrorHandler>(), userContextAccessorMock.Object);

            // Act
            var entryResult = await workEntriesService.GetByIdAsync(entry.Id);

            // Assert
            Assert.Equal(resultShouldBeNull, entryResult == null);
        }