public async Task CorrectlyCreateBarComment() { //Arrange var options = TestUtilities.GetOptions(nameof(CorrectlyCreateBarComment)); var mapperMock = new Mock <IDtoMapper <BarComment, BarCommentDto> >(); var id = Guid.NewGuid(); var barId = Guid.NewGuid(); var userId = Guid.NewGuid(); var createdOn = DateTime.UtcNow; var entityDto = new BarCommentDto { Id = id, BarId = barId, UserId = userId, UserName = "******", Body = "testbody", CreatedOn = createdOn }; var entity = new BarComment { Id = id, BarId = barId, UserId = userId, Body = "testbody", CreatedOn = createdOn }; mapperMock.Setup(x => x.MapFrom(It.IsAny <BarComment>())).Returns(entityDto); using (var assertContext = new CWContext(options)) { //Assert var sut = new BarCommentService(assertContext, mapperMock.Object); var result = await sut.CreateAsync(entityDto); Assert.IsInstanceOfType(result, typeof(BarCommentDto)); Assert.AreEqual(id, result.Id); Assert.AreEqual(barId, result.BarId); Assert.AreEqual(userId, result.UserId); Assert.AreEqual("testbody", result.Body); Assert.AreEqual("testuser", result.UserName); Assert.AreEqual(entityDto.Id, result.Id); Assert.AreEqual(entityDto.BarId, result.BarId); Assert.AreEqual(entityDto.UserId, result.UserId); Assert.AreEqual(entityDto.Body, result.Body); Assert.AreEqual(entityDto.UserName, result.UserName); } }
public async Task ReturnCorrectTypeOfEntity() { //Arrange var options = TestUtilities.GetOptions(nameof(ReturnCorrectTypeOfEntity)); var mapperMock = new Mock <IDtoMapper <BarComment, BarCommentDto> >(); var id = Guid.NewGuid(); var barId = Guid.NewGuid(); var userId = Guid.NewGuid(); var createdOn = DateTime.UtcNow; var entityDto = new BarCommentDto { Id = id, BarId = barId, UserId = userId, UserName = "******", Body = "testbody", CreatedOn = createdOn }; var entity = new BarComment { Id = id, BarId = barId, UserId = userId, Body = "testbody", CreatedOn = createdOn }; mapperMock.Setup(x => x.MapFrom(It.IsAny <BarComment>())).Returns(entityDto); using (var arrangeContext = new CWContext(options)) { await arrangeContext.BarComments.AddAsync(entity); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new CWContext(options)) { //Act & Assert var sut = new BarCommentService(assertContext, mapperMock.Object); var result = await sut.EditAsync(id, "newbody"); Assert.IsInstanceOfType(result, typeof(BarCommentDto)); } }
public async Task ReturnCorrectBarCommentWhen_ParamsAreValid() { //Arrange var options = TestUtilities.GetOptions(nameof(ReturnCorrectBarCommentWhen_ParamsAreValid)); var mapperMock = new Mock <IDtoMapper <BarComment, BarCommentDto> >(); var id = Guid.NewGuid(); var barId = Guid.NewGuid(); var createdOn = DateTime.UtcNow; var entity = new BarComment { Id = id, BarId = barId, UserId = Guid.NewGuid(), Body = "testbody", CreatedOn = createdOn }; //var entityDto = new BarCommentDto //{ // Id = id, // BarId = barId, // UserId = Guid.NewGuid(), // Body = "testbody", // CreatedOn = createdOn //}; //mapperMock.Setup(x => x.MapFrom(It.IsAny<BarComment>())).Returns(entityDto); using (var arrangeContext = new CWContext(options)) { await arrangeContext.BarComments.AddAsync(entity); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new CWContext(options)) { //Act & Assert var sut = new BarCommentService(assertContext, mapperMock.Object); //var result = await sut.GetBarCommentAsync(barId); //Assert.IsInstanceOfType(result, typeof(BarComment)); //Assert.AreEqual("testbody", result.Body); } }
public async Task ThrowWhen_DtoPassedIsNull() { //Arrange var options = TestUtilities.GetOptions(nameof(CorrectlyCreateBarComment)); var mapperMock = new Mock <IDtoMapper <BarComment, BarCommentDto> >(); mapperMock.Setup(x => x.MapFrom(It.IsAny <BarComment>())).Returns(It.IsAny <BarCommentDto>); using (var assertContext = new CWContext(options)) { //Act & Assert var sut = new BarCommentService(assertContext, mapperMock.Object); await Assert.ThrowsExceptionAsync <BusinessLogicException>(() => sut.CreateAsync(null)); } }
public void BarCommentServiceConstructor_CreatesInstance() { //Arrange var options = TestUtilities.GetOptions(nameof(BarCommentServiceConstructor_CreatesInstance)); var mapperMock = new Mock <IDtoMapper <BarComment, BarCommentDto> >(); using (var assertContext = new CWContext(options)) { //Act var sut = new BarCommentService(assertContext, mapperMock.Object); //Assert Assert.IsNotNull(sut); } }
public async Task ThrowWhen_NoCommentFound() { // Arrange var options = TestUtilities.GetOptions(nameof(ThrowWhen_NoCommentFound)); var mapperMock = new Mock <IDtoMapper <BarComment, BarCommentDto> >(); var id = Guid.NewGuid(); var barId = Guid.NewGuid(); using (var assertContext = new CWContext(options)) { //Act & Assert var sut = new BarCommentService(assertContext, mapperMock.Object); await Assert.ThrowsExceptionAsync <BusinessLogicException>(() => sut.DeleteAsync(id, barId)); } }
public async Task CorrectlyUpdateEntity() { //Arrange var options = TestUtilities.GetOptions(nameof(CorrectlyUpdateEntity)); var mapperMock = new Mock <IDtoMapper <BarComment, BarCommentDto> >(); var id = Guid.NewGuid(); var barId = Guid.NewGuid(); var userId = Guid.NewGuid(); var createdOn = DateTime.UtcNow; var entity = new BarComment { Id = id, BarId = barId, UserId = userId, Body = "testbody", CreatedOn = createdOn }; using (var arrangeContext = new CWContext(options)) { await arrangeContext.BarComments.AddAsync(entity); await arrangeContext.SaveChangesAsync(); } mapperMock.Setup(x => x.MapFrom(It.IsAny <BarComment>())).Returns(It.IsAny <BarCommentDto>); using (var assertContext = new CWContext(options)) { var sut = new BarCommentService(assertContext, mapperMock.Object); var result = await sut.EditAsync(id, "newbody"); var modifiedComment = await assertContext.BarComments.FirstAsync(); Assert.AreEqual("newbody", modifiedComment.Body); } }
public async Task ThrowWhen_NoCommentFound() { //Arrange var options = TestUtilities.GetOptions(nameof(ThrowWhen_NoCommentFound)); var mapperMock = new Mock <IDtoMapper <BarComment, BarCommentDto> >(); var id = Guid.NewGuid(); var barId = Guid.NewGuid(); var userId = Guid.NewGuid(); var fakeId = Guid.NewGuid(); var createdOn = DateTime.UtcNow; var entity = new BarComment { Id = id, BarId = barId, UserId = userId, Body = "testbody", CreatedOn = createdOn }; mapperMock.Setup(x => x.MapFrom(It.IsAny <BarComment>())).Returns(It.IsAny <BarCommentDto>); using (var arrangeContext = new CWContext(options)) { await arrangeContext.BarComments.AddAsync(entity); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new CWContext(options)) { //Act & Assert var sut = new BarCommentService(assertContext, mapperMock.Object); await Assert.ThrowsExceptionAsync <BusinessLogicException>(() => sut.EditAsync(fakeId, "newbody")); } }
public async Task CorrectlyDeleteBarComment() { // Arrange var options = TestUtilities.GetOptions(nameof(CorrectlyDeleteBarComment)); var mapperMock = new Mock <IDtoMapper <BarComment, BarCommentDto> >(); var id = Guid.NewGuid(); var barId = Guid.NewGuid(); var userId = Guid.NewGuid(); var createdOn = DateTime.UtcNow; var bar = new Bar { Id = barId, Name = "testname" }; var user = new User { Id = userId, UserName = "******", }; var entity = new BarComment { Id = id, BarId = barId, Bar = bar, UserId = Guid.NewGuid(), User = user, Body = "testbody", CreatedOn = createdOn }; bar.Comments.Add(entity); user.BarComments.Add(entity); using (var actContext = new CWContext(options)) { //Act await actContext.Bars.AddAsync(bar); await actContext.Users.AddAsync(user); await actContext.BarComments.AddAsync(entity); await actContext.SaveChangesAsync(); var service = new BarCommentService(actContext, mapperMock.Object); var result = await service.DeleteAsync(id, barId); await actContext.SaveChangesAsync(); } using (var assertContext = new CWContext(options)) { //Assert var result = await assertContext.BarComments.FirstAsync(); Assert.AreEqual(true, result.IsDeleted); } }
public async Task ReturnInstanceOfCollectionBarCommentDtos() { //Arrange var options = TestUtilities.GetOptions(nameof(ReturnInstanceOfCollectionBarCommentDtos)); var mapperMock = new Mock <IDtoMapper <BarComment, BarCommentDto> >(); var id = Guid.NewGuid(); var twoId = Guid.NewGuid(); var barId = Guid.NewGuid(); var entity = new BarComment { Id = id, BarId = barId, UserId = Guid.NewGuid(), Body = "testbody", }; var entityTwo = new BarComment { Id = twoId, BarId = barId, UserId = Guid.NewGuid(), Body = "testbodytwo", }; var list = new List <BarCommentDto>() { new BarCommentDto { Id = id, BarId = barId, Body = "testbody" }, new BarCommentDto { Id = twoId, BarId = barId, Body = "testbodytwo" }, }; mapperMock.Setup(x => x.MapFrom(It.IsAny <ICollection <BarComment> >())).Returns(list); using (var arrangeContext = new CWContext(options)) { await arrangeContext.BarComments.AddAsync(entity); await arrangeContext.BarComments.AddAsync(entityTwo); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new CWContext(options)) { //Act & Assert var sut = new BarCommentService(assertContext, mapperMock.Object); var result = await sut.GetBarCommentsAsync(barId); Assert.IsInstanceOfType(result, typeof(ICollection <BarCommentDto>)); Assert.AreEqual(2, result.Count()); Assert.AreEqual(entity.Body, result.First().Body); Assert.AreEqual(entity.Id, result.First().Id); Assert.AreEqual(entityTwo.Body, result.Last().Body); Assert.AreEqual(entityTwo.Id, result.Last().Id); } }