public void CallRemoveProductInProductService_WhenProductIdIsPassedAndUserIsLogged() { // Arange var contextMock = new Mock <IStoreContext>(); var writerMock = new Mock <IWriter>(); var readerMock = new Mock <IReader>(); var productServiceMock = new Mock <IProductService>(); var userServiceMock = new Mock <IUserService>(); var loggedUserProviderMock = new Mock <ILoggedUserProvider>(); userServiceMock.Setup(m => m.IsUserLogged()).Returns(true); var command = new RemoveProductCommand(contextMock.Object, writerMock.Object, readerMock.Object, productServiceMock.Object, userServiceMock.Object, loggedUserProviderMock.Object); // Act command.Execute(); // Assert productServiceMock.Verify(m => m.RemoveProductWithId(It.IsAny <string>()), Times.Once); }
public void ReturnCustomMessage_WhenUserIsNotLogged() { // Arange var contextMock = new Mock <IStoreContext>(); var writerMock = new Mock <IWriter>(); var readerMock = new Mock <IReader>(); var productServiceMock = new Mock <IProductService>(); var userServiceMock = new Mock <IUserService>(); var loggedUserProviderMock = new Mock <ILoggedUserProvider>(); userServiceMock.Setup(m => m.IsUserLogged()).Returns(false); var command = new RemoveProductCommand(contextMock.Object, writerMock.Object, readerMock.Object, productServiceMock.Object, userServiceMock.Object, loggedUserProviderMock.Object); string expectedResult = "You must Login First!"; // Act var actualResul = command.Execute(); // Assert Assert.AreEqual(expectedResult, actualResul); }