public async Task GetAll_ReturnsRepositoryData()
        {
            var wc = new WorkContext
            {
                CurrentClientId = "cId",
                CurrentUserId   = "uId",
            };

            var repo     = new Mock <IRepository <LogRecord> >();
            var repoData = new[]
            {
                new LogRecord {
                    Id = "a"
                },
                new LogRecord {
                    Id = "b"
                },
                new LogRecord {
                    Id = "c"
                },
            };

            repo.Setup(x => x.GetAll(It.IsAny <Pagination <LogRecord> >())).ReturnsAsync(repoData);

            var logger = new Mock <ILogger <LogRecordManager> >();
            var lm     = new LogRecordManager(repo.Object, logger.Object);
            var res    = await lm.GetAll(new LogRecordPagination());

            var lp = res.ShouldBeOfType <LogRecordPagination>();

            lp.Data.ShouldBe(repoData);
        }
        public async Task LogRecordManager_Insert()
        {
            var repo = new Mock <IRepository <LogRecord> >();
            var log  = new Mock <ILogger <LogRecordManager> >();
            var lm   = new LogRecordManager(repo.Object, log.Object);
            var lr   = new LogRecord
            {
                ClientId = "123"
            };

            await lm.InsertLogRecord(lr);

            repo.Verify(r => r.Insert(It.Is <LogRecord>(l => l == lr)), Times.Once);
        }
        public async Task GetAll_ReturnsEmptyArray_OnRepositoryNull()
        {
            var wc = new WorkContext
            {
                CurrentClientId = "cId",
                CurrentUserId   = "uId",
            };

            var repo = new Mock <IRepository <LogRecord> >();

            repo.Setup(x => x.GetAll(It.IsAny <Pagination <LogRecord> >()))
            .ReturnsAsync(null as IEnumerable <LogRecord>);

            var logger = new Mock <ILogger <LogRecordManager> >();
            var lm     = new LogRecordManager(repo.Object, logger.Object);
            var res    = await lm.GetAll(new LogRecordPagination());

            var lp = res.ShouldBeOfType <LogRecordPagination>();

            lp.Data.ShouldBeNull();
        }