Exemplo n.º 1
0
        public void TestCreatePostReturnsViewWhenInvalid()
        {
            #region Arrange
            new FakeOrganizations(3, OrganazationRepository);
            SecurityService.Expect(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything,
                                                                           Arg <Organization> .Is.Anything,
                                                                           out Arg <string> .Out(null).Dummy)).Return(true);
            var customField = new CustomField();
            customField.IsRequired   = true;
            customField.Organization = null;
            customField.Rank         = 9;
            #endregion Arrange

            #region Act
            var result = Controller.Create("2", customField)
                         .AssertViewRendered()
                         .WithViewData <CustomFieldViewModel>();
            #endregion Act

            #region Assert
            Assert.IsNotNull(result);
            Assert.IsNull(result.CustomField.Organization);
            Assert.AreEqual(9, result.CustomField.Rank);
            Assert.IsTrue(result.CustomField.IsRequired);
            SecurityService.AssertWasCalled(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything,
                                                                                    Arg <Organization> .Is.Anything,
                                                                                    out Arg <string> .Out("Fail Message").Dummy));
            CustomFieldRepository.AssertWasNotCalled(a => a.EnsurePersistent(Arg <CustomField> .Is.Anything));
            #endregion Assert
        }
Exemplo n.º 2
0
        public void TestNameWithSpacesOnlyDoesNotSave()
        {
            CustomField customField = null;

            try
            {
                #region Arrange
                customField      = GetValid(9);
                customField.Name = " ";
                #endregion Arrange

                #region Act
                CustomFieldRepository.DbContext.BeginTransaction();
                CustomFieldRepository.EnsurePersistent(customField);
                CustomFieldRepository.DbContext.CommitTransaction();
                #endregion Act
            }
            catch (Exception)
            {
                Assert.IsNotNull(customField);
                var results = customField.ValidationResults().AsMessageList();
                results.AssertErrorsAre(string.Format("The {0} field is required.", "Name"));
                Assert.IsTrue(customField.IsTransient());
                Assert.IsFalse(customField.IsValid());
                throw;
            }
        }
Exemplo n.º 3
0
        public void TestCustomFieldNewOrganizationDoesNotSave()
        {
            var thisFar = false;

            try
            {
                #region Arrange
                var record = GetValid(9);
                record.Organization = new Organization();
                thisFar             = true;
                #endregion Arrange

                #region Act
                CustomFieldRepository.DbContext.BeginTransaction();
                CustomFieldRepository.EnsurePersistent(record);
                CustomFieldRepository.DbContext.CommitTransaction();
                #endregion Act
            }
            catch (Exception ex)
            {
                Assert.IsTrue(thisFar);
                Assert.IsNotNull(ex);
                Assert.AreEqual("object references an unsaved transient instance - save the transient instance before flushing or set cascade action for the property to something that would make it autosave. Type: Purchasing.Core.Domain.Organization, Entity: Purchasing.Core.Domain.Organization", ex.Message);
                throw;
            }
        }
Exemplo n.º 4
0
        public void TestCustomFieldsFieldOrganizationWithAValueOfNullDoesNotSave()
        {
            CustomField record = null;

            try
            {
                #region Arrange
                record = GetValid(9);
                record.Organization = null;
                #endregion Arrange

                #region Act
                CustomFieldRepository.DbContext.BeginTransaction();
                CustomFieldRepository.EnsurePersistent(record);
                CustomFieldRepository.DbContext.CommitTransaction();
                #endregion Act
            }
            catch (Exception)
            {
                Assert.IsNotNull(record);
                Assert.AreEqual(record.Organization, null);
                var results = record.ValidationResults().AsMessageList();
                results.AssertErrorsAre("The Organization field is required.");
                Assert.IsTrue(record.IsTransient());
                Assert.IsFalse(record.IsValid());
                throw;
            }
        }
Exemplo n.º 5
0
        public void TestDeletePostRedirectWhenNotAuthorized()
        {
            #region Arrange
            var customFields = new List <CustomField>();
            customFields.Add(CreateValidEntities.CustomField(1));
            customFields[0].Organization = CreateValidEntities.Organization(9);

            new FakeCustomFields(0, CustomFieldRepository, customFields);
            SecurityService.Expect(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything,
                                                                           Arg <Organization> .Is.Anything,
                                                                           out Arg <string> .Out("Fail Message").Dummy)).Return(false);
            #endregion Arrange

            #region Act
            Controller.Delete(1, new CustomField())
            .AssertActionRedirect()
            .ToAction <ErrorController>(a => a.NotAuthorized());
            #endregion Act

            #region Assert
            Assert.AreEqual("Fail Message", Controller.Message);
            SecurityService.AssertWasCalled(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything,
                                                                                    Arg <Organization> .Is.Anything,
                                                                                    out Arg <string> .Out("Fail Message").Dummy));
            var args = SecurityService.GetArgumentsForCallsMadeOn(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything,
                                                                                                          Arg <Organization> .Is.Anything,
                                                                                                          out Arg <string> .Out("Fail Message").Dummy))[0];
            Assert.IsNull(args[0]);
            Assert.AreEqual("Name9", ((Organization)args[1]).Name);
            CustomFieldRepository.AssertWasNotCalled(a => a.EnsurePersistent(Arg <CustomField> .Is.Anything));
            CustomFieldRepository.AssertWasNotCalled(a => a.Remove(Arg <CustomField> .Is.Anything));
            #endregion Assert
        }
Exemplo n.º 6
0
        public void Edit(CustomFieldModel viewModel, EducationSecurityPrincipal user)
        {
            if (viewModel == null)
            {
                throw new ArgumentNullException("viewModel");
            }
            if (user == null)
            {
                throw new ArgumentNullException("user");
            }
            var model = CustomFieldRepository.Items.Include(c => c.Categories).SingleOrDefault(c => c.Id == viewModel.Id);

            if (model == null)
            {
                throw new EntityNotFoundException("The requested custom field could not be found");
            }
            if (CustomFieldValueRepository.Items.Any(v => v.CustomFieldId == viewModel.Id) && model.CustomFieldTypeId != viewModel.SelectedFieldTypeId)
            {
                throw new ValidationException(new ValidationResult("Cannot edit field type because data values have already been loaded", new[] { "SelectedFieldTypeId" }), null, viewModel);
            }
            viewModel.CopyTo(model);
            model.LastModifyingUser = user.Identity.User;
            model.LastModifyTime    = DateTime.Now;
            model.Categories        = CustomFieldCategoryRepository.Items.Where(c => viewModel.SelectedCategories.Contains(c.Id)).ToList();
            CustomFieldRepository.Update(model);
            RepositoryContainer.Save();
        }
Exemplo n.º 7
0
        public void TestCreatePostRedirectsWhenValid()
        {
            #region Arrange
            new FakeOrganizations(3, OrganazationRepository);
            SecurityService.Expect(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything,
                                                                           Arg <Organization> .Is.Anything,
                                                                           out Arg <string> .Out(null).Dummy)).Return(true);
            var customField = CreateValidEntities.CustomField(1);
            #endregion Arrange

            #region Act
            var result = Controller.Create("2", customField)
                         .AssertActionRedirect()
                         .ToAction <CustomFieldController>(a => a.Index("2"));
            #endregion Act

            #region Assert
            Assert.IsNotNull(result);
            Assert.AreEqual("2", result.RouteValues["id"]);
            Assert.AreEqual("CustomField Created Successfully", Controller.Message);
            SecurityService.AssertWasCalled(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything,
                                                                                    Arg <Organization> .Is.Anything,
                                                                                    out Arg <string> .Out("Fail Message").Dummy));

            CustomFieldRepository.AssertWasCalled(a => a.EnsurePersistent(Arg <CustomField> .Is.Anything));
            var args = (CustomField)CustomFieldRepository.GetArgumentsForCallsMadeOn(a => a.EnsurePersistent(Arg <CustomField> .Is.Anything))[0][0];
            Assert.IsNotNull(args);
            Assert.AreEqual("Name1", args.Name);
            #endregion Assert
        }
        public async Task CanSaveAndGetSocialField()
        {
            var db  = GetSut();
            var sut = new CustomFieldRepository(db);

            await sut.SaveSocial(new SocialField {
                AuthorId = 0,
                Title    = "Facebook",
                Icon     = "fa-facebook",
                Name     = "social|facebook|1",
                Rank     = 1,
                Content  = "http://your.facebook.page.com"
            });

            var socials = await sut.GetSocial();

            Assert.NotNull(socials);

            var result = sut.Single(f => f.Name.Contains("social|facebook"));

            Assert.NotNull(result);

            sut.Remove(result);
            await db.SaveChangesAsync();

            result = sut.Single(f => f.Name.Contains("social|facebook"));
            Assert.Null(result);
        }
Exemplo n.º 9
0
        public DataService(AppDbContext db)
        {
            _db = db;

            BlogPosts     = new PostRepository(_db);
            Authors       = new AuthorRepository(_db);
            Notifications = new NotificationRepository(_db);
            HtmlWidgets   = new HtmlWidgetRepository(_db);
            CustomFields  = new CustomFieldRepository(_db);
        }
Exemplo n.º 10
0
        private INewsletterService GetSut()
        {
            var helper  = new DbHelper();
            var context = helper.GetDbContext();

            var custom  = new CustomFieldRepository(context);
            var ds      = new DataService(context, null, null, null, null, custom, null, null);
            var logger  = new Mock <ILogger <NewsletterService> >();
            var storage = new Mock <IStorageService>();

            return(new NewsletterService(ds, storage.Object, logger.Object));
        }
Exemplo n.º 11
0
        private IEmailService GetSut()
        {
            var helper  = new DbHelper();
            var context = helper.GetDbContext();

            var custom  = new CustomFieldRepository(context);
            var authors = new AuthorRepository(context);
            var ds      = new DataService(context, null, authors, null, null, custom, null, null);

            EmailFactory factory = new EmailService(ds);

            return(factory.GetEmailService());
        }
Exemplo n.º 12
0
        private IDataService GetSut()
        {
            var options = new DbContextOptionsBuilder <AppDbContext>()
                          .UseSqlite("DataSource=Blog.db").Options;

            var context = new AppDbContext(options);

            IPostRepository        posts   = new PostRepository(context);
            IAuthorRepository      authors = new AuthorRepository(context);
            INewsletterRepository  letters = new NewsletterRepository(context);
            ICustomFieldRepository custom  = new CustomFieldRepository(context);

            return(new DataService(context, posts, authors, null, null, custom, letters));
        }
        private IDataService GetSut()
        {
            var helper  = new DbHelper();
            var context = helper.GetDbContext();

            var customFieldRepository = new CustomFieldRepository(context);

            IPostRepository        posts   = new PostRepository(context, customFieldRepository);
            IAuthorRepository      authors = new AuthorRepository(context);
            INewsletterRepository  letters = new NewsletterRepository(context);
            ICustomFieldRepository custom  = new CustomFieldRepository(context);

            return(new DataService(context, posts, authors, null, null, custom, letters, null));
        }
Exemplo n.º 14
0
        public void Delete(int id)
        {
            var customFieldToDelete = CustomFieldRepository.Items.SingleOrDefault(c => c.Id == id);

            if (customFieldToDelete == null)
            {
                throw new EntityNotFoundException("Specified custom field does not exist");
            }
            if (CustomFieldValueRepository.Items.Any(v => v.CustomFieldId == id))
            {
                throw new ValidationException(new ValidationResult("Custom field has associated values and cannot be deleted"), null, id);
            }
            CustomFieldRepository.Remove(customFieldToDelete);
            RepositoryContainer.Save();
        }
Exemplo n.º 15
0
        private IDataService GetSut()
        {
            var options = new DbContextOptionsBuilder <AppDbContext>()
                          .UseSqlite("DataSource=Blog.db").Options;

            var context = new AppDbContext(options);
            var customFieldRepository = new CustomFieldRepository(context);

            IPostRepository        posts   = new PostRepository(context, customFieldRepository);
            IAuthorRepository      authors = new AuthorRepository(context);
            INewsletterRepository  letters = new NewsletterRepository(context);
            ICustomFieldRepository custom  = new CustomFieldRepository(context);
            IMessageRepository     message = new MessageRepository(context);

            return(new DataService(db: context, postRepository: posts, authorRepository: authors, notificationRepository: null, customFieldRepository: custom, newsletterRepository: letters, messageRepository: message));
        }
Exemplo n.º 16
0
        public void TestEditPostRedirectsWhenValid()
        {
            #region Arrange
            var customFields = new List <CustomField>();
            customFields.Add(CreateValidEntities.CustomField(1));
            customFields[0].Organization = CreateValidEntities.Organization(9);
            customFields[0].Organization.SetIdTo("9");
            customFields[0].IsActive = true;
            new FakeCustomFields(0, CustomFieldRepository, customFields);
            var customField = CreateValidEntities.CustomField(8);
            customField.Organization = null;

            SecurityService.Expect(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything,
                                                                           Arg <Organization> .Is.Anything,
                                                                           out Arg <string> .Out(null).Dummy)).Return(true);
            #endregion Arrange

            #region Act
            var result = Controller.Edit(1, customField)
                         .AssertActionRedirect()
                         .ToAction <CustomFieldController>(a => a.Index("9"));
            #endregion Act

            #region Assert
            Assert.IsNotNull(result);
            Assert.AreEqual("9", result.RouteValues["id"]);
            Assert.AreEqual("CustomField Edited Successfully", Controller.Message);
            SecurityService.AssertWasCalled(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything,
                                                                                    Arg <Organization> .Is.Anything,
                                                                                    out Arg <string> .Out("Fail Message").Dummy));
            var ssargs = SecurityService.GetArgumentsForCallsMadeOn(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything,
                                                                                                            Arg <Organization> .Is.Anything,
                                                                                                            out Arg <string> .Out(null).Dummy))[0];
            Assert.IsNull(ssargs[0]);
            Assert.AreEqual("Name9", ((Organization)ssargs[1]).Name);

            CustomFieldRepository.AssertWasCalled(a => a.EnsurePersistent(Arg <CustomField> .Is.Anything), x => x.Repeat.Times(2));
            var args = CustomFieldRepository.GetArgumentsForCallsMadeOn(a => a.EnsurePersistent(Arg <CustomField> .Is.Anything));
            Assert.AreEqual(2, args.Count());
            Assert.AreEqual("Name1", ((CustomField)args[0][0]).Name);
            Assert.AreEqual(false, ((CustomField)args[0][0]).IsActive);
            Assert.AreEqual("Name8", ((CustomField)args[1][0]).Name);
            Assert.AreEqual(true, ((CustomField)args[1][0]).IsActive);
            Assert.AreEqual("Name9", ((CustomField)args[1][0]).Organization.Name);
            #endregion Assert
        }
Exemplo n.º 17
0
        public void TestUpdateOrderReturnsFalseWhenIdsAreNull()
        {
            #region Arrange
            new FakeCustomFields(10, CustomFieldRepository);
            #endregion Arrange

            #region Act
            var result = Controller.UpdateOrder("9", null)
                         .AssertResultIs <JsonNetResult>();
            #endregion Act

            #region Assert
            Assert.IsNotNull(result);
            Assert.AreEqual("false", result.JsonResultString);
            CustomFieldRepository.AssertWasNotCalled(a => a.EnsurePersistent(Arg <CustomField> .Is.Anything));
            #endregion Assert
        }
Exemplo n.º 18
0
        public void TestEditPostRedirectsToIndexIfCustomFieldNotFound()
        {
            #region Arrange
            new FakeCustomFields(3, CustomFieldRepository);
            #endregion Arrange

            #region Act
            Controller.Edit(4, new CustomField())
            .AssertActionRedirect()
            .ToAction <ErrorController>(a => a.Index());
            #endregion Act

            #region Assert
            Assert.AreEqual("Custom Field not found.", Controller.ErrorMessage);
            CustomFieldRepository.AssertWasNotCalled(a => a.EnsurePersistent(Arg <CustomField> .Is.Anything));
            #endregion Assert
        }
Exemplo n.º 19
0
        public void TestNameWithOneCharacterSaves()
        {
            #region Arrange
            var customField = GetValid(9);
            customField.Name = "x";
            #endregion Arrange

            #region Act
            CustomFieldRepository.DbContext.BeginTransaction();
            CustomFieldRepository.EnsurePersistent(customField);
            CustomFieldRepository.DbContext.CommitTransaction();
            #endregion Act

            #region Assert
            Assert.IsFalse(customField.IsTransient());
            Assert.IsTrue(customField.IsValid());
            #endregion Assert
        }
Exemplo n.º 20
0
        public void TestUpdateOrderReturnsTrueWhenNotExceptions2()
        {
            #region Arrange
            var customFields = new List <CustomField>();
            var org          = CreateValidEntities.Organization(9);
            org.SetIdTo("9");
            for (int i = 0; i < 5; i++)
            {
                customFields.Add(CreateValidEntities.CustomField(i + 1));
                customFields[i].Organization = org;
                customFields[i].Rank         = i + 1;
            }

            customFields[4].Rank         = 1;
            customFields[0].Organization = CreateValidEntities.Organization(8);
            customFields[0].Organization.SetIdTo("8");
            new FakeCustomFields(0, CustomFieldRepository, customFields);
            var idsToReorder = new List <int>()
            {
                1, 4, 3, 2, 5, 99
            };
            #endregion Arrange

            #region Act
            var result = Controller.UpdateOrder("9", idsToReorder)
                         .AssertResultIs <JsonNetResult>();
            #endregion Act

            #region Assert
            Assert.IsNotNull(result);
            Assert.AreEqual("true", result.JsonResultString);
            CustomFieldRepository.AssertWasCalled(a => a.EnsurePersistent(Arg <CustomField> .Is.Anything), x => x.Repeat.Times(4));
            var args = CustomFieldRepository.GetArgumentsForCallsMadeOn(a => a.EnsurePersistent(Arg <CustomField> .Is.Anything));
            Assert.IsNotNull(args);
            Assert.AreEqual(4, ((CustomField)args[0][0]).Id);
            Assert.AreEqual(1, ((CustomField)args[0][0]).Rank);
            Assert.AreEqual(3, ((CustomField)args[1][0]).Id);
            Assert.AreEqual(2, ((CustomField)args[1][0]).Rank);
            Assert.AreEqual(2, ((CustomField)args[2][0]).Id);
            Assert.AreEqual(3, ((CustomField)args[2][0]).Rank);
            Assert.AreEqual(5, ((CustomField)args[3][0]).Id);
            Assert.AreEqual(4, ((CustomField)args[3][0]).Rank);
            #endregion Assert
        }
Exemplo n.º 21
0
        public void TestCustomFieldWithExistingOrganizationSaves()
        {
            #region Arrange
            var record = GetValid(9);
            record.Organization = OrganizationRepository.Queryable.Single(a => a.Id == "3");
            #endregion Arrange

            #region Act
            CustomFieldRepository.DbContext.BeginTransaction();
            CustomFieldRepository.EnsurePersistent(record);
            CustomFieldRepository.DbContext.CommitTransaction();
            #endregion Act

            #region Assert
            Assert.AreEqual("3", record.Organization.Id);
            Assert.IsFalse(record.IsTransient());
            Assert.IsTrue(record.IsValid());
            #endregion Assert
        }
Exemplo n.º 22
0
        public void TestIsRequiredIsTrueSaves()
        {
            #region Arrange
            var customField = GetValid(9);
            customField.IsRequired = true;
            #endregion Arrange

            #region Act
            CustomFieldRepository.DbContext.BeginTransaction();
            CustomFieldRepository.EnsurePersistent(customField);
            CustomFieldRepository.DbContext.CommitTransaction();
            #endregion Act

            #region Assert
            Assert.IsTrue(customField.IsRequired);
            Assert.IsFalse(customField.IsTransient());
            Assert.IsTrue(customField.IsValid());
            #endregion Assert
        }
Exemplo n.º 23
0
        public void TestRankWithMinIntValueSaves()
        {
            #region Arrange
            var record = GetValid(9);
            record.Rank = int.MinValue;
            #endregion Arrange

            #region Act
            CustomFieldRepository.DbContext.BeginTransaction();
            CustomFieldRepository.EnsurePersistent(record);
            CustomFieldRepository.DbContext.CommitTransaction();
            #endregion Act

            #region Assert
            Assert.AreEqual(int.MinValue, record.Rank);
            Assert.IsFalse(record.IsTransient());
            Assert.IsTrue(record.IsValid());
            #endregion Assert
        }
Exemplo n.º 24
0
        public void TestNameWithLongValueSaves()
        {
            #region Arrange
            var customField = GetValid(9);
            customField.Name = "x".RepeatTimes(999);
            #endregion Arrange

            #region Act
            CustomFieldRepository.DbContext.BeginTransaction();
            CustomFieldRepository.EnsurePersistent(customField);
            CustomFieldRepository.DbContext.CommitTransaction();
            #endregion Act

            #region Assert
            Assert.AreEqual(999, customField.Name.Length);
            Assert.IsFalse(customField.IsTransient());
            Assert.IsTrue(customField.IsValid());
            #endregion Assert
        }
        public async Task CanSaveAndGetCustomField()
        {
            var db  = GetSut();
            var sut = new CustomFieldRepository(db);

            sut.Add(new CustomField {
                AuthorId = 1, Name = "social|facebook|1", Content = "http://your.facebook.page.com"
            });
            await db.SaveChangesAsync();

            var result = sut.Single(f => f.Name.Contains("social|facebook"));

            Assert.NotNull(result);

            sut.Remove(result);
            await db.SaveChangesAsync();

            result = sut.Single(f => f.Name.Contains("social|facebook"));
            Assert.Null(result);
        }
Exemplo n.º 26
0
        public void TestEditPostReturnsViewWhenInvalid()
        {
            #region Arrange
            var customFields = new List <CustomField>();
            customFields.Add(CreateValidEntities.CustomField(1));
            customFields[0].Organization = CreateValidEntities.Organization(9);

            new FakeCustomFields(0, CustomFieldRepository, customFields);
            SecurityService.Expect(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything,
                                                                           Arg <Organization> .Is.Anything,
                                                                           out Arg <string> .Out(null).Dummy)).Return(true);
            var customField = CreateValidEntities.CustomField(9);
            customField.Name = null;
            #endregion Arrange

            #region Act
            var result = Controller.Edit(1, customField)
                         .AssertViewRendered()
                         .WithViewData <CustomFieldViewModel>();
            #endregion Act

            #region Assert
            Assert.IsNotNull(result);
            Assert.AreEqual("Name9", result.Organization.Name);
            Assert.AreEqual("Name9", result.CustomField.Organization.Name);
            Assert.AreEqual(null, result.CustomField.Name);
            Assert.IsTrue(result.CustomField.IsActive);
            Assert.AreEqual(0, result.CustomField.Rank);
            Assert.IsFalse(result.CustomField.IsRequired);
            SecurityService.AssertWasCalled(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything,
                                                                                    Arg <Organization> .Is.Anything,
                                                                                    out Arg <string> .Out("Fail Message").Dummy));
            var args = SecurityService.GetArgumentsForCallsMadeOn(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything,
                                                                                                          Arg <Organization> .Is.Anything,
                                                                                                          out Arg <string> .Out(null).Dummy))[0];
            Assert.IsNull(args[0]);
            Assert.AreEqual("Name9", ((Organization)args[1]).Name);
            Controller.ModelState.AssertErrorsAre("The Name field is required.");
            CustomFieldRepository.AssertWasNotCalled(a => a.EnsurePersistent(Arg <CustomField> .Is.Anything));
            #endregion Assert
        }
Exemplo n.º 27
0
        public void TestUpdateOrderReturnsTrueWhenNotExceptions1()
        {
            #region Arrange
            new FakeCustomFields(10, CustomFieldRepository);
            var idsToReorder = new List <int>()
            {
                99, 100
            };
            #endregion Arrange

            #region Act
            var result = Controller.UpdateOrder("9", idsToReorder)
                         .AssertResultIs <JsonNetResult>();
            #endregion Act

            #region Assert
            Assert.IsNotNull(result);
            Assert.AreEqual("true", result.JsonResultString);
            CustomFieldRepository.AssertWasNotCalled(a => a.EnsurePersistent(Arg <CustomField> .Is.Anything));
            #endregion Assert
        }
Exemplo n.º 28
0
        private SendGridService GetSut()
        {
            var data = new Mock <IDataService>();

            var options = new DbContextOptionsBuilder <AppDbContext>()
                          .UseSqlite("DataSource=Blog.db").Options;

            var context = new AppDbContext(options);

            IPostRepository        posts   = new PostRepository(context);
            IAuthorRepository      authors = new AuthorRepository(context);
            INewsletterRepository  letters = new NewsletterRepository(context);
            ICustomFieldRepository custom  = new CustomFieldRepository(context);

            IDataService ds = new DataService(context, posts, authors, null, null, custom, letters);

            var logger  = new Mock <ILogger <SendGridService> >();
            var storage = new Mock <IStorageService>();
            var config  = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();

            return(new SendGridService(ds, config, logger.Object, storage.Object));
        }
Exemplo n.º 29
0
        public void Create(CustomFieldModel viewModel, EducationSecurityPrincipal user)
        {
            if (viewModel == null)
            {
                throw new ArgumentNullException("viewModel");
            }
            if (user == null)
            {
                throw new ArgumentNullException("user");
            }
            CustomField item = CreateFieldEntity();

            viewModel.CopyTo(item);
            item.Categories = CustomFieldCategoryRepository.Items.Where(c => viewModel.SelectedCategories.Contains(c.Id)).ToList();
            if (item.Categories.Count != viewModel.SelectedCategories.Count())
            {
                throw new EntityNotFoundException("At least one selected category could not be found.");
            }
            item.CreatingUserId = user.Identity.UserEntity.Id;
            CustomFieldRepository.Add(item);
            RepositoryContainer.Save();
        }
Exemplo n.º 30
0
        public void TestUpdateOrderReturnsFalseWhenException()
        {
            #region Arrange
            var customFields = new List <CustomField>();
            var org          = CreateValidEntities.Organization(9);
            org.SetIdTo("9");
            for (int i = 0; i < 5; i++)
            {
                customFields.Add(CreateValidEntities.CustomField(i + 1));
                customFields[i].Organization = org;
                customFields[i].Rank         = i + 1;
            }

            customFields[4].Rank         = 1;
            customFields[0].Organization = CreateValidEntities.Organization(8);
            customFields[0].Organization.SetIdTo("8");
            new FakeCustomFields(0, CustomFieldRepository, customFields);
            var idsToReorder = new List <int>()
            {
                1, 4, 3, 2, 5, 99
            };

            CustomFieldRepository.Expect(a => a.EnsurePersistent(Arg <CustomField> .Is.Anything))
            .Throw(new ApplicationException("Fake Exception"));

            #endregion Arrange

            #region Act
            var result = Controller.UpdateOrder("9", idsToReorder)
                         .AssertResultIs <JsonNetResult>();
            #endregion Act

            #region Assert
            Assert.IsNotNull(result);
            Assert.AreEqual("false", result.JsonResultString);
            CustomFieldRepository.AssertWasCalled(a => a.GetNullableById(Arg <int> .Is.Anything), x => x.Repeat.Times(2));
            #endregion Assert
        }