Ejemplo n.º 1
0
        public void AddRecordTest()
        {
            var account   = TestHelper.GetTestAccount();
            var component = account.CreateRandomComponentControl();

            // Получим форму добавления
            AddLogModel model;
            var         user = TestHelper.GetAccountAdminUser(account.Id);

            using (var controller = new LogsController(account.Id, user.Id, OutputRecordCount, SearchIterationRecordCount))
            {
                var result = Assert.IsType <PartialViewResult>(controller.Add(component.Info.Id));
                model = Assert.IsType <AddLogModel>(result.Model);
            }

            // Заполним модель
            model.LogLevel = LogLevel.Fatal;
            model.Message  = Guid.NewGuid().ToString();

            // Отправим данные
            JsonResult jsonResult;

            using (var controller = new LogsController(account.Id, user.Id, OutputRecordCount, SearchIterationRecordCount))
            {
                jsonResult = Assert.IsType <JsonResult>(controller.Add(model));
            }

            var success = (bool)jsonResult.Data.GetType().GetProperty("success").GetValue(jsonResult.Data);

            Assert.True(success);

            // Проверим, что запись лога появилась
            var logRecords = component.GetLogs(new Api.GetLogsFilter()
            {
                Levels = new List <Api.LogLevel>()
                {
                    Api.LogLevel.Fatal
                }
            }).Data;

            Assert.True(logRecords.Any(t => t.Message == model.Message));
        }