Beispiel #1
0
        public void DeleteCategoryShouldDeleteCategoryCorrect()
        {
            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Delete_Category_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);

            var service = new ArtisticWorkService(dbContext, null);

            var categoryName = "Test Category Name";

            var categoryToEdit = new ArtisticWorkCategory()
            {
                Name = "Test Category Name",
            };

            dbContext.ArtisticWorkCategories.Add(categoryToEdit);
            dbContext.SaveChanges();

            var categoryId = dbContext.ArtisticWorkCategories.LastOrDefault().Id;

            var storedCategory = dbContext
                                 .ArtisticWorkCategories
                                 .FirstOrDefault(category => category.Id == categoryId);

            Assert.Equal(categoryName, storedCategory.Name);

            service.DeleteCategory(categoryId);

            Assert.False(dbContext
                         .ArtisticWorkCategories
                         .Any(cat => cat.Id == categoryId));
        }
 public UserAccountService(SignInManager <WAGUser> signInManager, UserManager <WAGUser> userManager, RoleManager <IdentityRole> roleManager, WAGDbContext dbContext)
 {
     this.SignInManager = signInManager;
     this.UserManager   = userManager;
     this.RoleManager   = roleManager;
     this.DbContext     = dbContext;
 }
Beispiel #3
0
        public void AddArtWorkShouldAddsArtworkCorrect()
        {
            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Add_ArtWork_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);

            var service = new ArtisticWorkService(dbContext, null);

            var addArtWorkViewModel = new AddArtWorkViewModel()
            {
                Year         = 2015,
                Height       = 120.5,
                Width        = 80.2,
                Price        = 350.99m,
                Availability = true,
                HasFrame     = true,
                Technique    = "Test Technique",
            };

            service.AddArtWork(addArtWorkViewModel);

            var artWork = dbContext.ArtisticWorks.FirstOrDefault();

            Assert.NotNull(artWork);
            Assert.Equal(addArtWorkViewModel.Year, artWork.Year);
            Assert.Equal(addArtWorkViewModel.Height, artWork.Height);
            Assert.Equal(addArtWorkViewModel.Width, artWork.Width);
            Assert.Equal(addArtWorkViewModel.Price, artWork.Price);
            Assert.Equal(addArtWorkViewModel.Availability, artWork.Availability);
            Assert.Equal(addArtWorkViewModel.HasFrame, artWork.HasFrame);
            Assert.Equal(addArtWorkViewModel.Technique, artWork.Technique);
        }
        public void SaveSpecialOrderShouldSaveOrderCorrect()
        {
            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Save_Special_Order_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);

            var user = new WAGUser()
            {
                UserName = "******",
            };

            dbContext.Users.Add(user);
            dbContext.SaveChanges();

            var makeSpecialOrderViewModel = new MakeSpecialOrderViewModel()
            {
                OrderInfo = "Test order info"
            };

            var service = new OrderService(dbContext, null);

            service.SaveSpecialOrder(user, makeSpecialOrderViewModel);

            var savedSpecialOrder = dbContext.Orders.FirstOrDefault();

            Assert.NotNull(savedSpecialOrder);
            Assert.Equal(makeSpecialOrderViewModel.OrderInfo, savedSpecialOrder.OrderInfo);
            Assert.Equal(user, savedSpecialOrder.WAGUser);
        }
Beispiel #5
0
        public void DeleteCategoryShouldDeleteCategoryCorrect()
        {
            // Arrange

            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Delete_Category_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);
            var service   = new ArtisticWorkService(dbContext);

            var categorySeed = new ArtisticWorkCategory()
            {
                Name = "Test Category Name",
            };

            dbContext.ArtisticWorkCategories.Add(categorySeed);
            dbContext.SaveChanges();

            var categoryId = dbContext.ArtisticWorkCategories.LastOrDefault().Id;

            // Act
            service.DeleteCategory(categoryId);

            // Assert
            Assert.False(dbContext
                         .ArtisticWorkCategories
                         .Any(cat => cat.Id == categoryId));
        }
        public void DeleteOrderShouldDeleteOrderCorrect()
        {
            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Delete_Order_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);

            var service = new OrderService(dbContext, null);

            var user = new WAGUser()
            {
                UserName = "******",
            };

            dbContext.Users.Add(user);
            dbContext.SaveChanges();

            var order = new Order()
            {
                OrderInfo = "Test order info",
                WAGUser   = user,
            };

            dbContext.Orders.Add(order);
            dbContext.SaveChanges();

            Assert.Contains(order, dbContext.Orders);

            var orderId = dbContext.Orders.LastOrDefault().Id;

            service.DeleteOrder(orderId);

            Assert.DoesNotContain(order, dbContext.Orders);
        }
Beispiel #7
0
        public void AddCommentShouldAddsCommentAndReturnCommentIdCorrect()
        {
            // Arrange

            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Add_Comment_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);
            var service   = new CommentService(dbContext);

            var userId         = Guid.NewGuid().ToString();
            var articleId      = 5;
            var commentContent = "Test Comment Text";

            // Act
            var commentId = service.AddComment(userId, articleId, commentContent);

            var addedComment = dbContext
                               .Comments
                               .FirstOrDefault(comment => comment.Id == commentId);

            // Assert
            Assert.NotNull(addedComment);
            Assert.Equal(userId, addedComment.WAGUserId);
            Assert.Equal(articleId, addedComment.ArticleId);
            Assert.Equal(commentContent, addedComment.TextBody);
        }
Beispiel #8
0
        public void GetCommentByIdShouldReturnsCommentByIdCorrect()
        {
            // Arrange

            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Get_Comments_ById_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);
            var service   = new CommentService(dbContext);

            var commentSeed = new Comment()
            {
                TextBody = "Unique Test Text",
            };

            dbContext.Comments.Add(commentSeed);
            dbContext.SaveChanges();

            var commentId = dbContext.Comments.LastOrDefault().Id;

            // Act
            var comment = service.GetCommentById(commentId);

            // Assert
            Assert.NotNull(comment);
            Assert.Equal(commentSeed.TextBody, comment.TextBody);
        }
Beispiel #9
0
        public void DeleteContactMessageShouldDeleteMessageCorrect()
        {
            // Arrange

            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Delete_Message_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);
            var service   = new ContactMessageService(dbContext);

            string userId = Guid.NewGuid().ToString();

            var message = new ContactMessage()
            {
                Title     = "Test title",
                TextBody  = "Test textBody",
                WAGUserId = userId,
            };

            dbContext.ContactMessages.Add(message);
            dbContext.SaveChanges();

            var messageId = dbContext.ContactMessages.LastOrDefault().Id;

            // Act
            service.DeleteContactMessage(messageId);

            // Assert
            Assert.Null(dbContext.ContactMessages.FirstOrDefault(m => m.Id == messageId));
        }
Beispiel #10
0
        public void DeleteCommentShouldDeleteCommentCorrect()
        {
            // Arrange

            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Delete_Comment_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);
            var service   = new CommentService(dbContext);

            var comment = new Comment()
            {
                WAGUserId = Guid.NewGuid().ToString(),
                ArticleId = 3,
                TextBody  = "Delete Test Comment Text"
            };

            dbContext.Comments.Add(comment);
            dbContext.SaveChanges();

            var storedCommentId = dbContext.Comments.LastOrDefault().Id;

            // Act
            service.DeleteComment(storedCommentId);

            // Assert
            Assert.False(dbContext.Comments.Contains <Comment>(comment));
        }
Beispiel #11
0
        public void SaveContactMessageShouldSaveContactMsgCorrect()
        {
            // Arrange

            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Save_ContactMessage_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);
            var service   = new ContactMessageService(dbContext);

            var contactMessageViewModel = new ContactMessage()
            {
                Title    = "Test title",
                TextBody = "Test textBody",
            };

            string userId = Guid.NewGuid().ToString();

            // Act
            service.SaveContactMessage(contactMessageViewModel, userId);

            var savedMessage = dbContext.ContactMessages.LastOrDefault();

            // Assert
            Assert.NotNull(savedMessage);
            Assert.Equal(userId, savedMessage.WAGUserId);
            Assert.Equal(contactMessageViewModel.Title, savedMessage.Title);
            Assert.Equal(contactMessageViewModel.TextBody, savedMessage.TextBody);
        }
Beispiel #12
0
        public void GetArtisticWorkCategoriesShouldReturnsCategories()
        {
            // Arrange

            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Get_ArtWork_Category_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);

            var categoriesCount = 3;

            for (int i = 0; i < categoriesCount; i++)
            {
                dbContext.ArtisticWorkCategories.Add(new ArtisticWorkCategory());
            }

            dbContext.SaveChanges();

            var service = new ArtisticWorkService(dbContext);

            // Act
            var artWorkCategories = service.GetArtisticWorkCategories();

            // Assert
            Assert.Equal(categoriesCount, artWorkCategories.Count());
        }
Beispiel #13
0
        public void DeleteArtWorkShouldDeleteArtworkCorrect()
        {
            // Arrange

            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Delete_ArtWork_Db")
                          .Options;

            var dbContext    = new WAGDbContext(options);
            var service      = new ArtisticWorkService(dbContext);
            var artisticWork = new ArtisticWork();

            dbContext.ArtisticWorks.Add(artisticWork);
            dbContext.SaveChanges();

            var artWorkId = dbContext.ArtisticWorks.LastOrDefault().Id;

            // Act
            service.DeleteArtWork(artWorkId);

            //Assert
            Assert.True(dbContext
                        .ArtisticWorks
                        .Any(artwork => artwork.Id == artWorkId) == false);
        }
Beispiel #14
0
        public void GetContactMessageByIdShouldReturnsMessageCorrect()
        {
            // Arrange

            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Get_Message_ById_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);
            var service   = new ContactMessageService(dbContext);

            string userId = Guid.NewGuid().ToString();

            var message = new ContactMessage()
            {
                Title     = "Test title",
                TextBody  = "Test textBody",
                WAGUserId = userId,
            };

            dbContext.ContactMessages.Add(message);
            dbContext.SaveChanges();

            var messageId = dbContext.ContactMessages.LastOrDefault().Id;

            // Act
            var savedMessage = service.GetContactMessageById(messageId);

            // Assert
            Assert.Equal(message, savedMessage);
        }
        public void GetOrderByIdShouldReturnsOrderById()
        {
            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Get_Order_ById_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);

            var service = new OrderService(dbContext, null);

            var user = new WAGUser()
            {
                UserName = "******",
            };

            dbContext.Users.Add(user);
            dbContext.SaveChanges();

            var userId = dbContext.Users.LastOrDefault().Id;

            var order = new Order()
            {
                OrderInfo = "Test order info",
                WAGUser   = user,
            };

            dbContext.Orders.Add(order);
            dbContext.SaveChanges();

            var orderId = dbContext.Orders.LastOrDefault().Id;

            var wantedOrder = service.GetOrderById(orderId);

            Assert.Equal(order, wantedOrder);
        }
Beispiel #16
0
        public async Task InvokeAsync(HttpContext context, UserManager <WAGUser> userManager,
                                      RoleManager <IdentityRole> roleManager, WAGDbContext db)
        {
            SeedRole(roleManager, GlobalConstants.AdminRole).GetAwaiter().GetResult();
            SeedRole(roleManager, GlobalConstants.UserRole).GetAwaiter().GetResult();

            SeedUserInRoles(userManager).GetAwaiter().GetResult();

            await _next(context);
        }
Beispiel #17
0
        public void EditArtWorkShouldEditsArtworkCorrect()
        {
            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Edit_ArtWork_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);

            var service = new ArtisticWorkService(dbContext, null);

            var artisticWork = new ArtisticWork()
            {
                Year         = 2015,
                Height       = 120.5,
                Width        = 80.2,
                Price        = 350.99m,
                Availability = true,
                HasFrame     = true,
                Technique    = "Test Technique",
            };

            dbContext.ArtisticWorks.Add(artisticWork);
            dbContext.SaveChanges();

            var editArtWorkViewModel = new EditArtWorkViewModel()
            {
                Year         = 2016,
                Height       = 130.6,
                Width        = 70.3,
                Price        = 420.50m,
                Availability = false,
                HasFrame     = false,
                Technique    = "Test Technique - Edited",
            };

            var id = dbContext.ArtisticWorks.LastOrDefault().Id;

            service.EditArtWork(id, editArtWorkViewModel);

            var artWork = dbContext
                          .ArtisticWorks
                          .FirstOrDefault(artwork => artwork.Id == id);

            Assert.Equal(editArtWorkViewModel.Year, artWork.Year);
            Assert.Equal(editArtWorkViewModel.Height, artWork.Height);
            Assert.Equal(editArtWorkViewModel.Width, artWork.Width);
            Assert.Equal(editArtWorkViewModel.Price, artWork.Price);
            Assert.Equal(editArtWorkViewModel.Availability, artWork.Availability);
            Assert.Equal(editArtWorkViewModel.HasFrame, artWork.HasFrame);
            Assert.Equal(editArtWorkViewModel.Technique, artWork.Technique);
        }
        public void GetUserOrdersShouldReturnsUsersOrders()
        {
            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Get_User_Orders_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);

            var service = new OrderService(dbContext, null);

            var user = new WAGUser()
            {
                UserName = "******",
            };

            dbContext.Users.Add(user);
            dbContext.SaveChanges();

            var userId = dbContext.Users.LastOrDefault().Id;

            var firstOrder = new Order()
            {
                OrderInfo = "First",
                WAGUser   = user,
            };

            var secondOrder = new Order()
            {
                OrderInfo = "Second",
                WAGUser   = user,
            };

            dbContext.Orders.Add(firstOrder);
            dbContext.Orders.Add(secondOrder);
            dbContext.SaveChanges();

            var userOrders = service.GetUserOrders(userId);

            var ordersCount = dbContext
                              .Users
                              .FirstOrDefault(u => u.Id == userId)
                              .Orders.Count();

            Assert.Equal(ordersCount, userOrders.Count);
            Assert.Contains(firstOrder, userOrders);
            Assert.Contains(secondOrder, userOrders);
        }
Beispiel #19
0
        public void GetAllMessagesShouldReturnsAllMessages()
        {
            // Arrange

            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Get_All_Message_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);
            var service   = new ContactMessageService(dbContext);

            string userId = Guid.NewGuid().ToString();

            var firstMessage = new ContactMessage()
            {
                Title     = "Test title 1",
                TextBody  = "Test textBody 1",
                WAGUserId = userId,
            };

            var secondMessage = new ContactMessage()
            {
                Title     = "Test title 2",
                TextBody  = "Test textBody 2",
                WAGUserId = userId,
            };

            var thirdMessage = new ContactMessage()
            {
                Title     = "Test title 3",
                TextBody  = "Test textBody 3",
                WAGUserId = userId,
            };

            dbContext.ContactMessages.Add(firstMessage);
            dbContext.ContactMessages.Add(secondMessage);
            dbContext.ContactMessages.Add(thirdMessage);
            dbContext.SaveChanges();

            //Act
            var savedMessages = service.GetAllContactMessages();

            // Assert
            Assert.Contains(firstMessage, savedMessages);
            Assert.Contains(secondMessage, savedMessages);
            Assert.Contains(thirdMessage, savedMessages);
        }
Beispiel #20
0
        public void GetArtisticWorkByIdShouldReturnsArtWork()
        {
            // Arrange

            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Get_ArtWork_By_Id_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);

            //seed some random artworks
            for (int i = 0; i < 3; i++)
            {
                dbContext.ArtisticWorks.Add(new ArtisticWork());
            }

            //seed special artwork with unique year and save it's id
            var artworkYear = 2010;

            dbContext.ArtisticWorks.Add(new ArtisticWork()
            {
                Year = artworkYear
            });

            dbContext.SaveChanges();

            var artWorkId = dbContext.ArtisticWorks.LastOrDefault().Id;

            //seed some random artworks again
            for (int i = 0; i < 3; i++)
            {
                dbContext.ArtisticWorks.Add(new ArtisticWork());
            }

            var service = new ArtisticWorkService(dbContext);

            // Act
            var artWork = service.GetArtisticWorkById(artWorkId);

            // Assert
            Assert.Equal(artWorkId, artWork.Id);
            Assert.Equal(artworkYear, artWork.Year);
        }
Beispiel #21
0
        public void AddArtWorkShouldAddsArtworkCorrect()
        {
            // Arrange

            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Add_ArtWork_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);

            var service = new ArtisticWorkService(dbContext);

            var ArtWorkToAdd = new ArtisticWork()
            {
                Year                   = 2015,
                Height                 = 120.5,
                Width                  = 80.2,
                Price                  = 350.99m,
                Availability           = true,
                HasFrame               = true,
                Technique              = "Test Technique",
                ArtisticWorkCategoryId = 5,
                PictureFileName        = "Test_Guid.23AnMd9*!sdpfok"
            };

            // Act
            service.AddArtWork(ArtWorkToAdd);

            var artWork = dbContext.ArtisticWorks.FirstOrDefault();

            // Assert
            Assert.NotNull(artWork);
            Assert.Equal(ArtWorkToAdd.Year, artWork.Year);
            Assert.Equal(ArtWorkToAdd.Height, artWork.Height);
            Assert.Equal(ArtWorkToAdd.Width, artWork.Width);
            Assert.Equal(ArtWorkToAdd.Price, artWork.Price);
            Assert.Equal(ArtWorkToAdd.Availability, artWork.Availability);
            Assert.Equal(ArtWorkToAdd.HasFrame, artWork.HasFrame);
            Assert.Equal(ArtWorkToAdd.Technique, artWork.Technique);
            Assert.Equal(ArtWorkToAdd.ArtisticWorkCategoryId, artWork.ArtisticWorkCategoryId);
            Assert.Equal(ArtWorkToAdd.PictureFileName, artWork.PictureFileName);
            Assert.True(artWork.CreatedOn > DateTime.MinValue);
        }
Beispiel #22
0
        public void GetCategoryByIdShouldReturnsCategory()
        {
            // Arrange

            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Get_Artwork_Category_By_Id_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);

            //seed some random Categories
            for (int i = 0; i < 3; i++)
            {
                dbContext.ArtisticWorkCategories.Add(new ArtisticWorkCategory());
            }

            //seed special Category with unique name and save its id
            var categoryName = "Mock Category Name";

            dbContext.ArtisticWorkCategories.Add(new ArtisticWorkCategory()
            {
                Name = categoryName
            });

            dbContext.SaveChanges();

            var categoryId = dbContext.ArtisticWorkCategories.LastOrDefault().Id;

            //seed some random categories again
            for (int i = 0; i < 3; i++)
            {
                dbContext.ArtisticWorkCategories.Add(new ArtisticWorkCategory());
            }

            var service = new ArtisticWorkService(dbContext);

            // Act
            var category = service.GetCategoryById(categoryId);

            // Assert
            Assert.Equal(categoryId, category.Id);
            Assert.Equal(categoryName, category.Name);
        }
Beispiel #23
0
        public void GetArtWorksByCategoryIdShouldReturnsArtWorks()
        {
            // Arrange

            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Get_ArtWork_By_CategoryId_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);

            // Seed a few artworks with same category
            var sameCategoryArtworksCount = 2;
            var FirstMockCategoryId       = 1;

            for (int i = 0; i < sameCategoryArtworksCount; i++)
            {
                dbContext.ArtisticWorks
                .Add(new ArtisticWork()
                {
                    ArtisticWorkCategoryId = FirstMockCategoryId,
                });
            }

            // Seed artwork with different category
            var SecondMockCategoryId = 5;

            dbContext.ArtisticWorks
            .Add(new ArtisticWork()
            {
                ArtisticWorkCategoryId = SecondMockCategoryId,
            });

            dbContext.SaveChanges();

            var service = new ArtisticWorkService(dbContext);

            // Act
            var artWorks = service.GetArtWorksByCategoryId(FirstMockCategoryId);

            // Assert
            Assert.Equal(sameCategoryArtworksCount, artWorks.Count());
        }
        public void GetArticleCommentsShouldReturnsCommentsOrEmptyList()
        {
            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Get_Article_Comments_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);

            var service = new CommentService(dbContext);

            var commentsNumber = 5;
            var articleId      = 3;

            for (int i = 0; i < commentsNumber; i++)
            {
                var comment = new Comment()
                {
                    WAGUserId = Guid.NewGuid().ToString(),
                    ArticleId = articleId,
                    TextBody  = "Delete Test Comment Text",
                };

                dbContext.Comments.Add(comment);
            }

            dbContext.SaveChanges();

            var articleCommentsList = service.GetArticleComments(articleId);

            Assert.Equal(commentsNumber, articleCommentsList.Count);

            foreach (var comment in articleCommentsList)
            {
                dbContext.Comments.Remove(comment);
            }

            dbContext.SaveChanges();

            articleCommentsList = service.GetArticleComments(articleId);

            Assert.Empty(articleCommentsList);
        }
        public void SaveOrderShouldSaveOrderCorrect()
        {
            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Save_Order_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);

            var user = new WAGUser()
            {
                UserName = "******",
            };

            dbContext.Users.Add(user);
            dbContext.SaveChanges();

            var makeOrderViewModel = new MakeOrderViewModel()
            {
                ArtWorkId = 5,
                OrderInfo = "Test order info",
            };

            var artisticWorkService = new Mock <IArtisticWorkService>();

            artisticWorkService
            .Setup(a => a.GetArtisticWorkById(makeOrderViewModel.ArtWorkId))
            .Returns(new ArtisticWork()
            {
                Id = 5
            });

            var service = new OrderService(dbContext, artisticWorkService.Object);

            service.SaveOrder(user, makeOrderViewModel);

            var savedOrder = dbContext.Orders.LastOrDefault();

            Assert.NotNull(savedOrder);
            Assert.Equal(makeOrderViewModel.ArtWorkId, savedOrder.ArtisticWorkId);
            Assert.Equal(makeOrderViewModel.OrderInfo, savedOrder.OrderInfo);
        }
Beispiel #26
0
        public void AddCategoryShouldAddCategoryCorrect()
        {
            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Add_Category_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);

            var service = new ArtisticWorkService(dbContext, null);

            var categoryName = "Add Category - test";

            var addCategoryViewModel = new AddCategoryViewModel()
            {
                CategoryName = categoryName
            };

            service.AddCategory(addCategoryViewModel);

            Assert.True(dbContext
                        .ArtisticWorkCategories
                        .Any(cat => cat.Name == categoryName));
        }
Beispiel #27
0
        public void AddCategoryShouldAddCategoryCorrect()
        {
            // Arrange

            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Add_Category_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);
            var service   = new ArtisticWorkService(dbContext);

            var newCategory = new ArtisticWorkCategory()
            {
                Name = "Add Category - test"
            };

            // Act
            service.AddCategory(newCategory);

            // Assert
            Assert.True(dbContext
                        .ArtisticWorkCategories
                        .Any(category => category.Name == newCategory.Name));
        }
Beispiel #28
0
        public void EditArtWorkShouldEditsArtworkCorrect()
        {
            // Arrange

            var options = new DbContextOptionsBuilder <WAGDbContext>()
                          .UseInMemoryDatabase(databaseName: "Edit_ArtWork_Db")
                          .Options;

            var dbContext = new WAGDbContext(options);

            var service = new ArtisticWorkService(dbContext);

            var artWorkSeed = new ArtisticWork()
            {
                Year                   = 2015,
                Height                 = 120.5,
                Width                  = 80.2,
                Price                  = 350.99m,
                Availability           = true,
                HasFrame               = true,
                Technique              = "Test Technique",
                ArtisticWorkCategoryId = 5,
                PictureFileName        = "test_GUID_abc123",
                CreatedOn              = DateTime.UtcNow
            };

            dbContext.ArtisticWorks.Add(artWorkSeed);
            dbContext.SaveChanges();

            var artworkToUpdate = dbContext.ArtisticWorks.FirstOrDefault();

            artworkToUpdate.Year                   = 2016;
            artworkToUpdate.Height                 = 130.6;
            artworkToUpdate.Width                  = 70.3;
            artworkToUpdate.Price                  = 420.50m;
            artworkToUpdate.Availability           = false;
            artworkToUpdate.HasFrame               = false;
            artworkToUpdate.Technique              = "Test Technique - Edited";
            artworkToUpdate.ArtisticWorkCategoryId = 4;
            artworkToUpdate.PictureFileName        = "test_GUID_321cba";

            // Act
            service.EditArtWork(artworkToUpdate);

            var updatedArtWork = dbContext
                                 .ArtisticWorks
                                 .FirstOrDefault(artwork => artwork.Id == artworkToUpdate.Id);

            // Assert
            Assert.Equal(artworkToUpdate.Year, updatedArtWork.Year);
            Assert.Equal(artworkToUpdate.Height, updatedArtWork.Height);
            Assert.Equal(artworkToUpdate.Width, updatedArtWork.Width);
            Assert.Equal(artworkToUpdate.Price, updatedArtWork.Price);
            Assert.Equal(artworkToUpdate.Availability, updatedArtWork.Availability);
            Assert.Equal(artworkToUpdate.HasFrame, updatedArtWork.HasFrame);
            Assert.Equal(artworkToUpdate.Technique, updatedArtWork.Technique);
            Assert.Equal(artworkToUpdate.ArtisticWorkCategoryId, updatedArtWork.ArtisticWorkCategoryId);
            Assert.Equal(artworkToUpdate.PictureFileName, updatedArtWork.PictureFileName);
            Assert.Equal(artWorkSeed.CreatedOn, updatedArtWork.CreatedOn);
            Assert.True(updatedArtWork.EditedOn > DateTime.MinValue);
        }
 public CommentService(WAGDbContext dbContext)
 {
     this.DbContext = dbContext;
 }
Beispiel #30
0
 public BlogService(WAGDbContext dbContext, IFileService fileService)
 {
     this.DbContext   = dbContext;
     this.FileService = fileService;
 }