public void AddCollection_PublicCollection_CollectionAssignedToUser(string collectionName)
        {
            //Arrange
            var collectionData = new CollectionCreationData {
                IsPublic = true, Name = collectionName
            };
            var userId = NewGuid;

            AddUser(userId);

            //Act
            InTransaction(context =>
            {
                var controller = new CollectionsController(context, GetUserProviderMock(userId), getCollectionConfigurationProviderMock());
                controller.AddCollection(collectionData);
            });

            //Assert
            InTransaction(context =>
            {
                var collectionFromContext = context.Collection.SingleOrDefault(c => c.Name == collectionName);
                var collectionFromUser    = context.ApplicationUser
                                            .Include(u => u.Collections)
                                            .Single(u => u.Id == userId).Collections
                                            .Single(c => c.Name == collectionName);
                collectionFromContext.Should().BeEquivalentTo(collectionFromUser);
                collectionFromContext.OwnerId.Should().Be(userId);
            });
        }
        public void AddCollection_PublicCollection_CollectionAddedToDb(string collectionName)
        {
            //Arrange
            var collectionData = new CollectionCreationData {
                IsPublic = true, Name = collectionName
            };
            var userId = NewGuid;

            AddUser(userId);

            //Act
            InTransaction(context =>
            {
                var controller = new CollectionsController(context, GetUserProviderMock(userId), getCollectionConfigurationProviderMock());
                controller.AddCollection(collectionData);
            });

            //Assert
            InTransaction(context =>
            {
                var collection = context.Collection.SingleOrDefault(c => c.Name == collectionName);
                collection.Should().NotBeNull();
                collection.IsPublic.Should().BeTrue();
            });
        }