Esempio n. 1
0
        public void ChangeImportanceTest()
        {
            var account      = TestHelper.GetTestAccount();
            var user         = TestHelper.GetAccountAdminUser(account.Id);
            var eventType    = TestHelper.GetTestEventType(account.Id);
            var component    = account.CreateRandomComponentControl();
            var dispatcher   = DispatcherHelper.GetDispatcherService();
            var eventRequest = new SendEventRequest()
            {
                Token = account.GetCoreToken(),
                Data  = new SendEventData()
                {
                    ComponentId    = component.Info.Id,
                    TypeSystemName = eventType.SystemName,
                    Category       = EventCategory.ComponentEvent,
                    Version        = "1.2.3.4",
                    JoinInterval   = TimeSpan.FromSeconds(0).TotalSeconds
                }
            };
            var sendEventResponse = dispatcher.SendEvent(eventRequest);

            Assert.True(sendEventResponse.Success);
            var eventId       = sendEventResponse.Data.EventId;
            var eventResponse = dispatcher.GetEventById(new GetEventByIdRequest()
            {
                Token = account.GetCoreToken(),
                Data  = new GetEventByIdRequestData()
                {
                    EventId = eventId
                }
            });

            Assert.True(eventResponse.Success);
            var event_ = eventResponse.Data;

            ChangeImportanceModel model;

            using (var controller = new EventsController(account.Id, user.Id))
            {
                var result = (ViewResultBase)controller.ChangeImportance(eventId);
                model = (ChangeImportanceModel)result.Model;
            }
            model.Importance = EventImportance.Warning;
            using (var controller = new EventsController(account.Id, user.Id))
            {
                controller.ChangeImportance(model);
            }
            using (var accountContext = AccountDbContext.CreateFromAccountId(account.Id))
            {
                var eventTypeRepository = accountContext.GetEventTypeRepository();
                eventType = eventTypeRepository.GetById(model.EventTypeId);
                Assert.Equal(model.EventTypeId, eventType.Id);
                Assert.Equal(model.Version, event_.Version);
                Assert.Equal(model.Importance, eventType.ImportanceForOld);
            }
        }