Exemple #1
0
        public void TestUpdatePublisher()
        {
            var publisherToCreate = new CreatePublisherDto("Test library", "https://ingvilt.test.url", -1, "test desc", testLibrary.LibraryId);
            var publisherId       = repository.CreatePublisher(publisherToCreate);

            var publisherRetrieved = repository.GetPublisher(publisherId).Result;
            var fileId             = mediaFileRepository.CreateMediaFile(new CreateMediaFileDto("C:/test.jpg", MediaFileType.IMAGE_TYPE, "test"));

            publisherRetrieved.Description += "1";
            publisherRetrieved.Name        += "2";
            publisherRetrieved.SiteURL      = "https://ingvilt.test2.url";
            publisherRetrieved.LogoFileId   = fileId;
            repository.UpdatePublisher(publisherRetrieved);

            var updatedPublisherRetrieved = repository.GetPublisher(publisherId).Result;

            Assert.AreEqual(publisherRetrieved.PublisherId, updatedPublisherRetrieved.PublisherId);
            Assert.AreEqual(publisherRetrieved.Name, updatedPublisherRetrieved.Name);
            Assert.AreEqual(publisherRetrieved.Description, updatedPublisherRetrieved.Description);
            Assert.AreEqual(publisherRetrieved.LibraryId, updatedPublisherRetrieved.LibraryId);
            Assert.AreEqual(publisherRetrieved.LogoFileId, updatedPublisherRetrieved.LogoFileId);
            Assert.AreEqual(publisherRetrieved.SiteURL, updatedPublisherRetrieved.SiteURL);
            CollectionAssert.AreEquivalent(new List <Publisher>()
            {
                updatedPublisherRetrieved
            }, repository.GetPublishers(GetFirstPage()).Result.Results);
        }
 public IActionResult Post(
     [FromBody] CreatePublisherDto dto,
     [FromServices] ICreatePublisherCommand command)
 {
     _executor.ExecuteCommand(command, dto);
     return(StatusCode(StatusCodes.Status201Created));
 }
        public long CreatePublisher(CreatePublisherDto dto)
        {
            using (var db = DataAccessUtil.CreateSqlConnection()) {
                db.Open();
                var command = GetCreatePublisherCommand(db, dto, UniqueIdUtil.GenerateUniqueId(), false);
                command.ExecuteNonQuery();

                return(QueryUtil.GetLastInsertedPrimaryKey(db));
            }
        }
Exemple #4
0
        public void Execute(CreatePublisherDto request)
        {
            var publisher = new Publisher
            {
                Name  = request.Name,
                City  = request.City,
                State = request.State
            };

            _context.Publishers.Add(publisher);
            _context.SaveChanges();
        }
Exemple #5
0
        public void ShouldNotDeletePublisher_WhenDifferentLibraryDeleted()
        {
            var otherLibrary       = CreateAndRetrieveLibrary(new CreateLibraryDto("test 2"));
            var publisherToCreate  = new CreatePublisherDto("Test library", "https://ingvilt.test.url", -1, "test desc", otherLibrary.LibraryId);
            var publisherId        = repository.CreatePublisher(publisherToCreate);
            var publisherRetrieved = repository.GetPublisher(publisherId).Result;

            libraryRepository.DeleteLibrary(testLibrary.LibraryId);
            CollectionAssert.AreEquivalent(new List <Publisher>(), repository.GetDeletedPublishers(GetFirstPage()).Result.Results);
            CollectionAssert.AreEquivalent(new List <Publisher>()
            {
                publisherRetrieved
            }, repository.GetPublishers(GetFirstPage()).Result.Results);
        }
Exemple #6
0
        public void TestCreatePublisher_WithLogo()
        {
            var fileId            = mediaFileRepository.CreateMediaFile(new CreateMediaFileDto("C:/test.jpg", MediaFileType.IMAGE_TYPE, "test"));
            var publisherToCreate = new CreatePublisherDto("Test library", "https://ingvilt.test.url", fileId, "test desc", testLibrary.LibraryId);
            var publisherId       = repository.CreatePublisher(publisherToCreate);

            var publisherRetrieved = repository.GetPublisher(publisherId).Result;

            Assert.AreEqual(publisherId, publisherRetrieved.PublisherId);
            Assert.AreEqual(publisherToCreate.Name, publisherRetrieved.Name);
            Assert.AreEqual(publisherToCreate.Description, publisherRetrieved.Description);
            Assert.AreEqual(publisherToCreate.LibraryId, publisherRetrieved.LibraryId);
            Assert.AreEqual(publisherToCreate.LogoFileId, publisherRetrieved.LogoFileId);
            Assert.AreEqual(publisherToCreate.SiteURL, publisherRetrieved.SiteURL);
        }
Exemple #7
0
        public void TestCreatePublisher_WithNullLogo()
        {
            var publisherToCreate = new CreatePublisherDto("Test library", "https://ingvilt.test.url", -1, "test desc", testLibrary.LibraryId);
            var publisherId       = repository.CreatePublisher(publisherToCreate);

            var publisherRetrieved = repository.GetPublisher(publisherId).Result;

            Assert.AreEqual(publisherId, publisherRetrieved.PublisherId);
            Assert.AreEqual(publisherToCreate.Name, publisherRetrieved.Name);
            Assert.AreEqual(publisherToCreate.Description, publisherRetrieved.Description);
            Assert.AreEqual(publisherToCreate.LibraryId, publisherRetrieved.LibraryId);
            Assert.AreEqual(publisherToCreate.LogoFileId, publisherRetrieved.LogoFileId);
            Assert.AreEqual(publisherToCreate.SiteURL, publisherRetrieved.SiteURL);
            Assert.IsNotNull(publisherRetrieved.UniqueId);
        }
        private SqliteCommand GetCreatePublisherCommand(SqliteConnection db, CreatePublisherDto dto, string guid, bool ignoreDuplicates)
        {
            var ignoreClause = ignoreDuplicates ? "OR IGNORE" : "";

            var command = new SqliteCommand();

            command.Connection  = db;
            command.CommandText = $"INSERT {ignoreClause} INTO publisher(name, site_url, logo_image, description, library_id, deleted, deletion_due_to_cascade, unique_id) VALUES(@Name, @Url, @LogoId, @Description, @LibraryId, false, false, @UniqueId)";
            command.Parameters.AddWithValue("@Name", dto.Name);
            command.Parameters.AddWithValue("@Url", dto.SiteURL);
            command.Parameters.AddWithValue("@Description", dto.Description);
            command.Parameters.AddWithValue("@LibraryId", dto.LibraryId);
            command.Parameters.AddWithValue("@LogoId", QueryUtil.GetNullableIdForStorage(dto.LogoFileId));
            command.Parameters.AddWithValue("@UniqueId", guid);
            return(command);
        }
Exemple #9
0
        public void TestUpdatePublisher_ShouldNotUpdateDifferentPublisher()
        {
            var publisherDto = new CreatePublisherDto("Test library", "https://ingvilt.test.url", -1, "test desc", testLibrary.LibraryId);

            var publisherToUpdateId   = repository.CreatePublisher(publisherDto);
            var publisherNotUpdatedId = repository.CreatePublisher(publisherDto);

            var publisherToUpdate = repository.GetPublisher(publisherToUpdateId).Result;

            publisherToUpdate.Description += "1";
            repository.UpdatePublisher(publisherToUpdate);

            var publisherToNotUpdate = repository.GetPublisher(publisherNotUpdatedId).Result;

            Assert.AreNotEqual(publisherToUpdate.Description, publisherToNotUpdate.Description);
        }
        public void TestCreateLocation_WithPublisher()
        {
            var publisherDto = new CreatePublisherDto("test", "", -1, "", testLibrary.LibraryId);
            var publisher    = new PublisherService().CreateAndRetrievePublisher(publisherDto);

            var tagName     = "Test name";
            var description = "Test tag";
            var locationId  = repository.CreateLocation(new CreateLocationDto(tagName, description, testLibrary.LibraryId, publisher.PublisherId, -1));
            var location    = repository.GetLocation(locationId);

            Assert.AreEqual(tagName, location.Name);
            Assert.AreEqual(description, location.Description);
            Assert.AreEqual(locationId, location.LocationId);
            Assert.AreEqual(testLibrary.LibraryId, location.LibraryId);
            Assert.AreEqual(publisher.PublisherId, location.PublisherId);
            Assert.AreEqual(DatabaseConstants.DEFAULT_ID, location.CoverFileId);
        }
Exemple #11
0
        public void ShouldNotRestorePublisherDeletedNormally_WhenLibraryRestored()
        {
            var publisherToCreate = new CreatePublisherDto("Test library", "https://ingvilt.test.url", -1, "test desc", testLibrary.LibraryId);
            var publisherId       = repository.CreatePublisher(publisherToCreate);

            repository.DeletePublisher(publisherId).ConfigureAwait(false);

            libraryRepository.DeleteLibrary(testLibrary.LibraryId);
            libraryRepository.RestoreDeletedLibrary(testLibrary.LibraryId);
            var publisherRetrieved = repository.GetPublisher(publisherId).Result;

            CollectionAssert.AreEquivalent(new List <Publisher>()
            {
                publisherRetrieved
            }, repository.GetDeletedPublishers(GetFirstPage()).Result.Results);
            CollectionAssert.AreEquivalent(new List <Publisher>(), repository.GetPublishers(GetFirstPage()).Result.Results);
        }
Exemple #12
0
        public async Task CreatePublisher(CreatePublisherDto newPublisher)
        {
            using (unitOfWork)
            {
                var publisher = unitOfWork.PublisherRepository.GetSingleAsync(p => p.Name == newPublisher.Name);
                if (await publisher != null)
                {
                    throw new ArgumentException("Publisher with such Name already exists");
                }

                unitOfWork.PublisherRepository.Create(new Publisher()
                {
                    Name = newPublisher.Name
                });

                await unitOfWork.CommitAsync();
            }
        }
Exemple #13
0
        public void CreatePublisher_ValidMethodParameter_True()
        {
            //assign
            Publisher          returnNull   = null;
            CreatePublisherDto newPublisher = new CreatePublisherDto()
            {
                Name = "Ubisoft"
            };

            publisherRepositoryMoq.Setup((p) => p.GetSingleAsync(It.IsAny <Expression <Func <Publisher, bool> > >()))
            .Returns(Task.FromResult(returnNull));

            //act
            service.CreatePublisher(newPublisher);

            //assign
            publisherRepositoryMoq.Verify(p => p.Create(It.IsAny <Publisher>()), Times.Once);
            unitofworkMoq.Verify(p => p.CommitAsync(), Times.Once);
        }
Exemple #14
0
        public void CreatePublisher_PublisherNameAlreadyexists_ThrowArgumentException()
        {
            //assign
            Publisher existedEntity = new Publisher()
            {
                Id = 1, Name = "Ubisoft"
            };
            CreatePublisherDto newPublisher = new CreatePublisherDto()
            {
                Name = "Ubisoft"
            };

            publisherRepositoryMoq.Setup((p) => p.GetSingleAsync(It.IsAny <Expression <Func <Publisher, bool> > >()))
            .Returns(Task.FromResult(existedEntity));

            //act
            Assert.ThrowsAsync <ArgumentException>(async() =>
            {
                await service.CreatePublisher(newPublisher);
            });

            //assign
            unitofworkMoq.Verify(p => p.CommitAsync(), Times.Never);
        }
        public Publisher CreateAndRetrievePublisher(CreatePublisherDto dto)
        {
            long libraryId = CreatePublisher(dto);

            return(new Publisher(libraryId, dto));
        }
 public long CreatePublisher(CreatePublisherDto dto)
 {
     return(publisherRepository.CreatePublisher(dto));
 }
Exemple #17
0
        private Publisher CreateAndRetrievePublisher(CreatePublisherDto dto)
        {
            var id = repository.CreatePublisher(dto);

            return(repository.GetPublisher(id).Result);
        }