Пример #1
0
        public async Task Handle_AllPlansSameRamAboveFourGigabytes_PicksCheapestPlan()
        {
            //Arrange
            var fakeMediator = Substitute.For <IMediator>();

            fakeMediator
            .Send(
                Arg.Any <GetSupportedPlansQuery>(),
                default)
            .Returns(new[]
            {
                new Plan(
                    "some-bundle-1",
                    3,
                    new Bundle()
                {
                    RamSizeInGb = 4,
                    BundleId    = "some-bundle-1"
                },
                    Array.Empty <PullDogPlan>()),
                new Plan(
                    "some-bundle-2",
                    1,
                    new Bundle()
                {
                    RamSizeInGb = 4,
                    BundleId    = "some-bundle-2"
                },
                    Array.Empty <PullDogPlan>()),
                new Plan(
                    "some-bundle-3",
                    5,
                    new Bundle()
                {
                    RamSizeInGb = 4,
                    BundleId    = "some-bundle-3"
                },
                    Array.Empty <PullDogPlan>())
            });

            var handler = new GetDemoPlanQueryHandler(
                fakeMediator);

            //Act
            var demoPlan = await handler.Handle(
                new GetDemoPlanQuery(),
                default);

            //Assert
            Assert.IsNotNull(demoPlan);
            Assert.AreEqual("some-bundle-2", demoPlan.Id);
        }
Пример #2
0
        public async Task Handle_PlansAboveAndBelowFourGigabytesOfRam_FirstMinimumFourGigabyteRamPlanSelected()
        {
            //Arrange
            var fakeMediator = Substitute.For <IMediator>();

            fakeMediator
            .Send(
                Arg.Any <GetSupportedPlansQuery>(),
                default)
            .Returns(new[]
            {
                new Plan(
                    "some-bundle-1",
                    1337,
                    new Bundle()
                {
                    RamSizeInGb = 2,
                    BundleId    = "some-bundle-1"
                },
                    Array.Empty <PullDogPlan>()),
                new Plan(
                    "some-bundle-2",
                    1337,
                    new Bundle()
                {
                    RamSizeInGb = 4,
                    BundleId    = "some-bundle-2"
                },
                    Array.Empty <PullDogPlan>()),
                new Plan(
                    "some-bundle-3",
                    1337,
                    new Bundle()
                {
                    RamSizeInGb = 1,
                    BundleId    = "some-bundle-3"
                },
                    Array.Empty <PullDogPlan>()),
                new Plan(
                    "some-bundle-4",
                    1337,
                    new Bundle()
                {
                    RamSizeInGb = 6,
                    BundleId    = "some-bundle-4"
                },
                    Array.Empty <PullDogPlan>())
            });

            var handler = new GetDemoPlanQueryHandler(
                fakeMediator);

            //Act
            var demoPlan = await handler.Handle(
                new GetDemoPlanQuery(),
                default);

            //Assert
            Assert.IsNotNull(demoPlan);
            Assert.AreEqual("some-bundle-2", demoPlan.Id);
        }