public void ShouldShowEmptyTopicFormOnLoadWithNoId() { var view = _repository.DynamicMock<ITopicFormView>(); var provider = _repository.DynamicMock<ITopicProvider>(); var loader = default(IEventRaiser); var id = 0; var data = new TopicInput(); With.Mocks(_repository). ExpectingInSameOrder(() => { view.Load += null; loader = LastCall.IgnoreArguments().GetEventRaiser(); Expect.Call(view.IsPostBack).Return(false); Expect.Call(view.CurrentId).Return(id).Repeat.Any(); Expect.Call(view.Topic = data); LastCall.IgnoreArguments(); SetupResult.For(view.Topic).Return(data); }). Verify(() => { new TopicFormPresenter(view, provider); loader.Raise(null, new EventArgs()); Assert.IsNotNull(view.Topic); Assert.AreEqual(data.Title, view.Topic.Title); }); }
public void ShouldGoToShowTopicOnCreateWithNoId() { var view = _repository.DynamicMock<ITopicFormView>(); var provider = _repository.DynamicMock<ITopicProvider>(); var loader = default(IEventRaiser); var creator = default(IEventRaiser); var input = new TopicInput { ForumId = 1423, Title = "New Topic", Body = "New topic body", Sticky = false }; var data = new TopicMapper().FromInput(input); var newId = 321; With.Mocks(_repository). ExpectingInSameOrder(() => { view.Load += null; loader = LastCall.IgnoreArguments().GetEventRaiser(); view.Create += null; creator = LastCall.IgnoreArguments().GetEventRaiser(); Expect.Call(view.IsPostBack).Return(true); Expect.Call(view.IsValid).Return(true); Expect.Call(view.Topic).Return(input); Expect.Call(provider.Create(data)).IgnoreArguments().Return(newId); Expect.Call(() => view.GoToShowTopic(newId)); }). Verify(() => { new TopicFormPresenter(view, provider); loader.Raise(null, new EventArgs()); creator.Raise(null, new EventArgs()); }); }
public void ShouldMapTopicEntityFromInput() { // Arrange var input = new TopicInput { Id = 1423, ForumId = 1411, Sticky = true, Title = "FromInput name", Body = "FromInput body" }; // Act var data = new TopicMapper().FromInput(input); // Assert Assert.AreEqual(input.Id, data.Id); Assert.AreEqual(input.ForumId, data.Forum.Id); Assert.AreEqual(input.Sticky, data.Sticky); Assert.AreEqual(input.Title, data.Title); Assert.AreEqual(input.Body, data.Body); }