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); }
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); }