public void Should_throw_exception_when_saving_non_selected_notification()
        {
            var storageProvider    = new Mock <IStorageProvider>();
            var preferencesService = new Mock <IPreferencesService>();

            SetupMockCase(preferencesService, storageProvider);

            bool exceptionThrown = false;
            var  service         = new NotificationPositionSettingsService(preferencesService.Object, storageProvider.Object, new Mock <IMapper>().Object);

            try
            {
                service.Save(new IronyModManager.Models.NotificationPosition()
                {
                    IsSelected = false,
                    Type       = IronyModManager.Models.Common.NotificationPosition.TopRight
                });
            }
            catch (Exception ex)
            {
                ex.GetType().Should().Be(typeof(InvalidOperationException));
                exceptionThrown = true;
            }
            exceptionThrown.Should().BeTrue();
        }
        public void Should_contain_selected_notification()
        {
            var storageProvider    = new Mock <IStorageProvider>();
            var preferencesService = new Mock <IPreferencesService>();

            SetupMockCase(preferencesService, storageProvider);

            var service = new NotificationPositionSettingsService(preferencesService.Object, storageProvider.Object, new Mock <IMapper>().Object);
            var result  = service.Get();

            result.FirstOrDefault(p => p.IsSelected).Should().NotBeNull();
            result.FirstOrDefault(p => p.IsSelected).Type.Should().Be(IronyModManager.Models.Common.NotificationPosition.TopRight);
        }
        public void Should_contain_all_notifications()
        {
            var storageProvider    = new Mock <IStorageProvider>();
            var preferencesService = new Mock <IPreferencesService>();

            SetupMockCase(preferencesService, storageProvider);

            var service = new NotificationPositionSettingsService(preferencesService.Object, storageProvider.Object, new Mock <IMapper>().Object);
            var result  = service.Get();

            result.Count().Should().Be(4);
            result.GroupBy(p => p.Type).Select(p => p.First()).Count().Should().Be(4);
        }
        public void Should_save_selected_notification()
        {
            var storageProvider    = new Mock <IStorageProvider>();
            var preferencesService = new Mock <IPreferencesService>();

            SetupMockCase(preferencesService, storageProvider);

            var service = new NotificationPositionSettingsService(preferencesService.Object, storageProvider.Object, new Mock <IMapper>().Object);
            var result  = service.Save(new IronyModManager.Models.NotificationPosition()
            {
                IsSelected = true,
                Type       = IronyModManager.Models.Common.NotificationPosition.TopRight
            });

            result.Should().Be(true);
        }