public async Task Handle_PullDogPlanFound_ReturnsMatchingPlan()
        {
            //Arrange
            var fakeMediator = Substitute.For <IMediator>();

            fakeMediator
            .Send(Arg.Is <GetPlanByIdQuery>(args =>
                                            args.Id == "some-plan-id"))
            .Returns(new Plan(
                         "some-plan-id",
                         1337,
                         new Bundle(),
                         new []
            {
                new PullDogPlan("dummy", 1337, 1337)
            }));

            var handler = new GetPullDogPlanFromSettingsQueryHandler(fakeMediator);

            //Act
            var plan = await handler.Handle(
                new GetPullDogPlanFromSettingsQuery(
                    "some-plan-id",
                    1337),
                default);

            //Assert
            Assert.IsNotNull(plan);
        }
        public async Task Handle_DoggerPlanNotFound_ReturnsNull()
        {
            //Arrange
            var fakeMediator = Substitute.For <IMediator>();

            fakeMediator
            .Send(Arg.Is <GetPlanByIdQuery>(args =>
                                            args.Id == "non-existing"))
            .Returns((Plan)null);

            var handler = new GetPullDogPlanFromSettingsQueryHandler(fakeMediator);

            //Act
            var plan = await handler.Handle(
                new GetPullDogPlanFromSettingsQuery(
                    "non-existing",
                    1337),
                default);

            //Assert
            Assert.IsNull(plan);
        }