public void ReturnCorrectResult_IfUserIsLoggedAndIsAdmin() { //Arrange var fakeReader = new Mock <IReader>(); fakeReader.SetupSequence(s => s.Read()) .Returns("test") .Returns("5.50") .Returns("5") .Returns("test") .Returns("test"); var fakeWriter = new Mock <IWriter>(); var fakeDtoFactory = new Mock <IDataTransferObjectFactory>(); var fakeUserSession = new Mock <IUserSession>(); var fakeValidator = new Mock <IValidator>(); fakeValidator.Setup(s => s.IsValid(It.IsAny <object>())).Returns(true); var fakeProductService = new Mock <IProductService>(); fakeUserSession.Setup(s => s.HasSomeoneLogged()).Returns(true); fakeUserSession.Setup(s => s.HasAdminRights()).Returns(true); var addProductCommand = new AddProductToProductsCommand(fakeProductService.Object, fakeUserSession.Object, fakeDtoFactory.Object, fakeReader.Object, fakeWriter.Object, fakeValidator.Object); var expectedResult = "Product test added successfully!"; //Act var actualResult = addProductCommand.ExecuteThisCommand(); //Assert Assert.AreEqual(expectedResult, actualResult); }
public void InvokeCreateProductMethod_IfUserIsLoggedAndIsAdmin() { //Arrange var fakeReader = new Mock <IReader>(); fakeReader.SetupSequence(s => s.Read()) .Returns("test") .Returns("5.50") .Returns("5") .Returns("test") .Returns("test"); var fakeWriter = new Mock <IWriter>(); var fakeUserSession = new Mock <IUserSession>(); var fakeDtoFactory = new Mock <IDataTransferObjectFactory>(); var fakeValidator = new Mock <IValidator>(); fakeValidator.Setup(s => s.IsValid(It.IsAny <object>())).Returns(true); var fakeProductService = new Mock <IProductService>(); fakeUserSession.Setup(s => s.HasSomeoneLogged()).Returns(true); fakeUserSession.Setup(s => s.HasAdminRights()).Returns(true); var addProductCommand = new AddProductToProductsCommand(fakeProductService.Object, fakeUserSession.Object, fakeDtoFactory.Object, fakeReader.Object, fakeWriter.Object, fakeValidator.Object); //Act addProductCommand.ExecuteThisCommand(); //Assert fakeProductService.Verify(v => v.AddProduct(It.IsAny <IProductImportModel>()), Times.Once); }
public void ThrowArgumentException_WhenProductModelIsInvalid() { //Arrange var fakeReader = new Mock <IReader>(); var fakeWriter = new Mock <IWriter>(); var fakeDtoFactory = new Mock <IDataTransferObjectFactory>(); var fakeUserSession = new Mock <IUserSession>(); var fakeValidator = new Mock <IValidator>(); var fakeProductService = new Mock <IProductService>(); fakeReader.SetupSequence(s => s.Read()) .Returns("test") .Returns("5.50") .Returns("5") .Returns("test") .Returns("test"); fakeUserSession.Setup(s => s.HasSomeoneLogged()).Returns(true); fakeUserSession.Setup(s => s.HasAdminRights()).Returns(true); fakeValidator.Setup(s => s.IsValid(It.IsAny <object>())).Returns(false); var addProductCommand = new AddProductToProductsCommand(fakeProductService.Object, fakeUserSession.Object, fakeDtoFactory.Object, fakeReader.Object, fakeWriter.Object, fakeValidator.Object); //Act Action executingAddProductCmd = () => addProductCommand.ExecuteThisCommand(); //Assert Assert.ThrowsException <ArgumentException>(executingAddProductCmd); }
public void RequireAdminRights_IfUserIsLogged() { //Arrange var fakeReader = new Mock <IReader>(); var fakeWriter = new Mock <IWriter>(); var fakeDtoFactory = new Mock <IDataTransferObjectFactory>(); var fakeUserSession = new Mock <IUserSession>(); var fakeProductService = new Mock <IProductService>(); var fakeValidator = new Mock <IValidator>(); fakeUserSession.Setup(s => s.HasSomeoneLogged()).Returns(true); fakeUserSession.Setup(s => s.HasAdminRights()).Returns(false); var addProductCommand = new AddProductToProductsCommand(fakeProductService.Object, fakeUserSession.Object, fakeDtoFactory.Object, fakeReader.Object, fakeWriter.Object, fakeValidator.Object); var expectedMessage = "User is neither admin nor moderator and cannot add products!"; //Act var actualMessage = addProductCommand.ExecuteThisCommand(); //Assert Assert.AreEqual(expectedMessage, actualMessage); }