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); }
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()); }
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); }
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); }
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); }
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); }
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); }
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); }); }
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>()); }
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); }
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); }
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); }
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()); }
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); }