public async Task ExecuteAsync_SetsNullRepresentor()
        {
            var requestor = MockRepository.GenerateMock <ITransitionRequestHandler>();

            var sut = new NavigateToSelfLinkQueryStep();

            var result = await sut.ExecuteAsync(null, requestor);
        }
        public async Task ExecuteAsync_SetsNullHandler()
        {
            var representor = Fixture.Create <CrichtonRepresentor>();

            var sut = new NavigateToSelfLinkQueryStep();

            var result = await sut.ExecuteAsync(representor, null);
        }
        public async Task ExecuteAsync_RequestsTransitionWithSelfLinkAsUrl()
        {
            var representor = Fixture.Create <CrichtonRepresentor>();
            var expected    = Fixture.Create <CrichtonRepresentor>();

            var requestor = MockRepository.GenerateMock <ITransitionRequestHandler>();

            requestor.Stub(r => r.RequestTransitionAsync(Arg <CrichtonTransition> .Matches(t => t.Uri == representor.SelfLink), Arg <object> .Is.Null)).Return(Task.FromResult(expected));

            var sut = new NavigateToSelfLinkQueryStep();

            var result = await sut.ExecuteAsync(representor, requestor);

            Assert.AreEqual(expected, result);
        }