app->make(UsageLimitEligibilityChecker::class); $discount = Discount::create([ 'title' => $faker->word, 'label' => $faker->word, 'usage_limit' => $faker->numberBetween(80, 100), 'used' => 20, 'starts_at' => Carbon::now()->addDay(1), 'ends_at' => Carbon::now()->addDay(2), ]); $result = $discountChecker->isEligible($discount); $this->assertTrue($result); $discount = Discount::create([ 'title' => $faker->word, 'label' => $faker->word, 'usage_limit' => $faker->numberBetween(80, 100), 'used' => 100, 'starts_at' => Carbon::now()->addDay(-1), 'ends_at' => Carbon::now()->addDay(2), ]); $result = $discountChecker->isEligible($discount); $this->assertFalse($result); //test usage limit null $discount = Discount::create([ 'title' => $faker->word, 'label' => $faker->word, 'used' => 20, 'starts_at' => Carbon::now()->addDay(1), 'ends_at' => Carbon::now()->addDay(2), ]); $result = $discountChecker->isEligible($discount); $this->assertTrue($result); } }