Ejemplo n.º 1
0
        public async Task GetPublisherByIdAsync_WithCorrectId_WorksCorrectly()
        {
            // Arrange
            var context = this.NewInMemoryDatabase();

            var expectedPublisher = new Publisher
            {
                Name = "Publisher1"
            };

            await context.Publishers.AddRangeAsync(
                expectedPublisher,
                new Publisher
            {
                Name = "Publisher2"
            }
                );

            await context.SaveChangesAsync();

            var publishersService = new PublishersService(context);

            // Act
            var actualPublisher = await publishersService
                                  .GetPublisherByIdAsync <PublisherDetailsServiceModel>(expectedPublisher.Id);

            // Assert
            Assert.NotNull(actualPublisher);
            Assert.Equal(expectedPublisher.Id, actualPublisher.Id);
        }
Ejemplo n.º 2
0
        public async Task CreatePublisherAsync_WithRepeatedName_ReturnsFalse()
        {
            // Arrange
            var context        = this.NewInMemoryDatabase();
            var publisherModel = new PublisherCreateServiceModel
            {
                Description = "TestDescription",
                ImageUrl    = "http://www.test.com",
                Name        = "TestName "
            };

            await context.Publishers.AddAsync(
                new Publisher
            {
                Name = "TestName"
            }
                );

            await context.SaveChangesAsync();

            var publishersService = new PublishersService(context);

            // Act
            var result = await publishersService.CreatePublisherAsync(publisherModel);

            // Assert
            Assert.False(result);
            Assert.Equal(1, await context.Publishers.CountAsync());
        }
Ejemplo n.º 3
0
        public async Task RemoveUserFromPublisherAsync_WithCorrectData_WorksCorrectly()
        {
            // Arrange
            var context = this.NewInMemoryDatabase();

            var testPublisher = new Publisher {
                Name = "TestPublisher"
            };

            await context.Publishers.AddAsync(testPublisher);

            var testUser = new KnigaUser {
                UserName = "******", PublisherId = testPublisher.Id
            };

            await context.Users.AddAsync(testUser);

            await context.SaveChangesAsync();

            var publishersService = new PublishersService(context);

            // Act
            var result = await publishersService.RemoveUserFromPublisherAsync(testUser.Id);

            // Assert
            Assert.True(result);

            var dbUser = await context.Users.SingleOrDefaultAsync();

            Assert.Null(dbUser.PublisherId);
        }
Ejemplo n.º 4
0
        public async Task RemoveUserFromPublisherAsync_WithIncorrectId_ReturnsFalse()
        {
            // Arrange
            var context = this.NewInMemoryDatabase();

            var testPublisher = new Publisher {
                Name = "TestPublisher"
            };

            await context.Publishers.AddAsync(testPublisher);

            var testUser = new KnigaUser {
                UserName = "******", PublisherId = testPublisher.Id
            };

            await context.Users.AddAsync(testUser);

            await context.SaveChangesAsync();

            var publishersService = new PublishersService(context);

            // Act
            var result = await publishersService.RemoveUserFromPublisherAsync(Guid.NewGuid().ToString());

            // Assert
            Assert.False(result);

            var dbUser = await context.Users.SingleOrDefaultAsync();

            Assert.Equal(testPublisher.Id, dbUser.PublisherId);
        }
Ejemplo n.º 5
0
        public async Task AddAndSaveTest()
        {
            var pub1 = new Publishers()
            {
                Pub_id = "1", Pub_name = "test pub 1"
            };
            var pub2 = new Publishers()
            {
                Pub_id = "2", Pub_name = "test pub 2"
            };
            var pubs = new List <Publishers> {
                pub1, pub2
            };

            var pub3 = new Publishers()
            {
                Pub_id = "2", Pub_name = "test pub 2"
            };

            var fakeRepositoryMock = new Mock <IPublishersRepository>();

            fakeRepositoryMock.Setup(x => x.Add(It.IsAny <Publishers>())).Callback <Publishers>(arg => pubs.Add(arg));

            var pubService = new PublishersService(fakeRepositoryMock.Object);

            await pubService.AddAndSave(pub3);


            Assert.Equal(3, pubs.Count);
        }
Ejemplo n.º 6
0
        public async Task AssignUserToPublisherAsync_WithNullUserId_WorksCorrectly()
        {
            // Arrange
            var context = this.NewInMemoryDatabase();

            var testUser = new KnigaUser {
                UserName = "******"
            };

            var testPublisher = new Publisher {
                Name = "TestPublisher"
            };

            await context.Users.AddAsync(testUser);

            await context.Publishers.AddAsync(testPublisher);

            await context.SaveChangesAsync();

            var publishersService = new PublishersService(context);

            // Act
            var result = await publishersService.AssignUserToPublisherAsync(null, testPublisher.Id);

            // Assert
            Assert.False(result);

            var dbUser = await context.Users.SingleOrDefaultAsync();

            Assert.Null(dbUser.PublisherId);
        }
Ejemplo n.º 7
0
        public async Task DeleteAndSaveTest()
        {
            var pub1 = new Publishers()
            {
                Pub_id = "1", Pub_name = "test pub 1"
            };
            var pub2 = new Publishers()
            {
                Pub_id = "2", Pub_name = "test pub 2"
            };
            var pubs = new List <Publishers> {
                pub1, pub2
            };

            var fakeRepositoryMock = new Mock <IPublishersRepository>();

            fakeRepositoryMock.Setup(x => x.Delete(It.IsAny <string>())).Callback <string>(arg => pubs.RemoveAt(1));

            var pubService = new PublishersService(fakeRepositoryMock.Object);

            await pubService.DeleteAndSave(pub2.Pub_id);

            Assert.Single(pubs);
            Assert.Equal("test pub 1", pubs[0].Pub_name);
        }
Ejemplo n.º 8
0
        public async Task GetPublisherTest()
        {
            var pub1 = new Publishers()
            {
                Pub_id = "1", Pub_name = "test pub 1"
            };
            var pub2 = new Publishers()
            {
                Pub_id = "2", Pub_name = "test pub 2"
            };
            var pubs = new List <Publishers> {
                pub1, pub2
            };

            var fakeRepositoryMock = new Mock <IPublishersRepository>();

            fakeRepositoryMock.Setup(x => x.GetAll()).ReturnsAsync(pubs);

            var pubService = new PublishersService(fakeRepositoryMock.Object);

            var resultMembers = await pubService.GetAll();

            Assert.Collection(resultMembers, pub =>
            {
                Assert.Equal("test pub 1", pub.Pub_name);
            },
                              pub =>
            {
                Assert.Equal("test pub 2", pub.Pub_name);
            });
        }
Ejemplo n.º 9
0
        public async Task UpdateAndSaveTest()
        {
            var pub1 = new Publishers()
            {
                Pub_id = "1", Pub_name = "test pub 1"
            };
            var pub2 = new Publishers()
            {
                Pub_id = "2", Pub_name = "test pub 2"
            };
            var pubs = new List <Publishers> {
                pub1, pub2
            };

            var newpub2 = new Publishers()
            {
                Pub_id = "2", Pub_name = "test pub 2"
            };

            var fakeRepositoryMock = new Mock <IPublishersRepository>();

            fakeRepositoryMock.Setup(x => x.Update(It.IsAny <Publishers>())).Callback <Publishers>(arg => pubs[1] = arg);

            var pubService = new PublishersService(fakeRepositoryMock.Object);

            await pubService.UpdateAndSave(newpub2);

            Assert.Equal("test pub 2", pubs[1].Pub_name);
        }
        public void Setup()
        {
            context = new AppDbContext(dbContextOptions);
            context.Database.EnsureCreated();

            SeedDatabase();

            publishersService    = new PublishersService(context);
            publishersController = new PublishersController(publishersService, new NullLogger <PublishersController>());
        }
Ejemplo n.º 11
0
        public void ExistsTest()
        {
            var fakeRepositoryMock = new Mock <IPublishersRepository>();

            fakeRepositoryMock.Setup(x => x.PublisherExists(It.IsAny <string>())).Returns(true);

            var pubService = new PublishersService(fakeRepositoryMock.Object);

            bool result = pubService.PublisherExists("1");

            Assert.True(result);
        }
Ejemplo n.º 12
0
        public async Task GetPublishersAsync_WithoutPublishers_ReturnsEmptyCollection()
        {
            // Arrange
            var context = this.NewInMemoryDatabase();

            var publishersService = new PublishersService(context);

            // Act
            var actualResult = await publishersService.GetAllPublishersAsync <PublisherDetailsServiceModel>();

            // Assert
            Assert.Empty(actualResult);
        }
Ejemplo n.º 13
0
        public async Task UpdatePublisherAsync_WithTakenName_ReturnsFalse()
        {
            // Arrange
            var context = this.NewInMemoryDatabase();

            const string testName = "NewName";

            var publisherToAdd = new Publisher
            {
                Name        = "TestName",
                Description = "TestDescription",
                ImageUrl    = "http://www.test.com",
            };

            var otherPublisher = new Publisher
            {
                Name        = testName.ToUpper(),
                Description = "TestDescription",
                ImageUrl    = "http://www.test.com",
            };

            await context.Publishers.AddRangeAsync(publisherToAdd, otherPublisher);

            await context.SaveChangesAsync();

            var publishersService = new PublishersService(context);

            var model = new PublisherEditServiceModel
            {
                Id          = publisherToAdd.Id,
                Name        = testName,
                Description = "NewDescription",
                ImageUrl    = "https://newurl.com/pic.jpg"
            };

            // Act
            var result = await publishersService.UpdatePublisherAsync(model);

            // Assert
            Assert.False(result);

            var updatedPublisher = await context.Publishers.SingleOrDefaultAsync(p => p.Id == publisherToAdd.Id);

            Assert.NotNull(updatedPublisher);
            Assert.Equal(publisherToAdd.Name, updatedPublisher.Name);
        }
Ejemplo n.º 14
0
        public async Task CreatePublisherAsync_WithIncorrectModel_ReturnsFalse()
        {
            // Arrange
            var context        = this.NewInMemoryDatabase();
            var publisherModel = new PublisherCreateServiceModel
            {
                Description = "TestDescription",
                ImageUrl    = "http://www.test.com",
                Name        = ""
            };

            var publishersService = new PublishersService(context);

            // Act
            var result = await publishersService.CreatePublisherAsync(publisherModel);

            // Assert
            Assert.False(result);
            Assert.False(await context.Publishers.AnyAsync());
        }
Ejemplo n.º 15
0
        public async Task GetMemberByIdTest()
        {
            var pub1 = new Publishers()
            {
                Pub_id = "1", Pub_name = "test pub 1"
            };
            var pub2 = new Publishers()
            {
                Pub_id = "2", Pub_name = "test pub 2"
            };

            var fakeRepositoryMock = new Mock <IPublishersRepository>();

            fakeRepositoryMock.Setup(x => x.GetByID("1")).ReturnsAsync(pub1);

            var pubService = new PublishersService(fakeRepositoryMock.Object);

            var resultMember = await pubService.GetById("1");

            Assert.Equal("test pub 1", resultMember.Pub_name);
        }