/**
  * Test the invoice status changes from new -> billed -> paid with only free payments.
  * @test
  */
 function invoice_status_trial_paid_directly()
 {
     TData::enable_addon(MS_Model_Addon::ADDON_TRIAL);
     $user_id = TData::id('user', 'editor');
     $membership_id = TData::id('membership', 'simple-trial');
     $subscription = TData::subscribe($user_id, $membership_id);
     // Brand new invoice, must be NEW
     $invoice = $subscription->get_current_invoice();
     $this->assertEquals(MS_Model_Invoice::STATUS_NEW, $invoice->status);
     // After the stripe payment it must be PAID instantly
     $invoice->pay_it('stripe', 'external_123');
     $this->assertEquals(MS_Model_Invoice::STATUS_PAID, $invoice->status);
 }