public void RegisterProductCommandInterpreter_NotHandleAnotherKey() { //Arrange var driver = A.Fake<IInputOutputDriver>(); var productService = A.Fake<IAppProductService>(); A.CallTo(() => driver.Input()).Returns(A.Dummy<string>()); A.CallTo(() => productService.Register(A<string>.Ignored, A<string>.Ignored)).Returns(new OperationMessage() { Succeed = true, Message = A.Dummy<string>() }); var sut = new RegisterProductCommandInterpreter(driver, productService); //Act var res = sut.HandleCommand(Constants.AnotherKey); //Assert res.HasSucceed.Should().BeFalse(); res.IsTerminating.Should().BeFalse(); res.Message.Should().Be(UI.Properties.Resources.CommandUnrecognized); }
public void RegisterProductCommandInterpreter_ResistAppServiceFailure() { //Arrange var driver = A.Fake<IInputOutputDriver>(); var productService = A.Fake<IAppProductService>(); var expectedMessage = "Expected"; A.CallTo(() => driver.Input()).Returns(A.Dummy<string>()); A.CallTo(() => productService.Register(A<string>.Ignored, A<string>.Ignored)).Throws(new Exception(expectedMessage)); var sut = new RegisterProductCommandInterpreter(driver, productService); //Act var res = sut.HandleCommand(Challenge3.UI.Commands.Constants.RegisterProductKey); //Assert res.HasSucceed.Should().BeFalse(); res.IsTerminating.Should().BeFalse(); res.Message.Should().Be(expectedMessage); }