def test_unknown_payment_method( self, ctx, mock_membership_repository: MembershipRepository, mock_member_repository: MemberRepository, mock_charter_repository: CharterRepository, mock_account_repository: AccountRepository, mock_payment_method_repository: PaymentMethodRepository, sample_member: Member, sample_subscription_duration_account_payment_method: SubscriptionBody, sample_membership_pending_rules: Membership, sample_account1: Account, member_manager: MemberManager): mock_member_repository.get_by_id = MagicMock( return_value=(sample_member)) mock_membership_repository.search = MagicMock( return_value=([sample_membership_pending_rules], 1)) mock_account_repository.get_by_id = MagicMock( return_value=(sample_account1)) mock_charter_repository.get = MagicMock( return_value=str(datetime.datetime.today())) mock_payment_method_repository.get_by_id = MagicMock( return_value=(None), side_effect=PaymentMethodNotFoundError("")) with raises(PaymentMethodNotFoundError): member_manager.update_subscription( ctx, sample_member.id, sample_subscription_duration_account_payment_method) mock_membership_repository.search.assert_called_once() mock_member_repository.get_by_id.assert_called_once() mock_account_repository.get_by_id.assert_called_once() mock_charter_repository.get.assert_called_once() mock_payment_method_repository.get_by_id.assert_called_once() mock_membership_repository.update.assert_not_called()
def test_from_pending_payment_to_pending_payment_validation( self, ctx, mock_membership_repository: MembershipRepository, mock_member_repository: MemberRepository, mock_account_repository: AccountRepository, mock_payment_method_repository: PaymentMethodRepository, sample_member: Member, sample_membership_pending_payment: Membership, sample_subscription_duration_account_payment_method: SubscriptionBody, sample_account1: Account, sample_payment_method: PaymentMethod, member_manager: MemberManager): mock_member_repository.get_by_id = MagicMock( return_value=(sample_member)) mock_membership_repository.search = MagicMock( return_value=([sample_membership_pending_payment], 1)) mock_account_repository.get_by_id = MagicMock( return_value=(sample_account1)) mock_payment_method_repository.get_by_id = MagicMock( return_value=(sample_payment_method)) # When... member_manager.update_subscription( ctx, sample_member.id, sample_subscription_duration_account_payment_method) # Expect to create a new membership record... mock_membership_repository.update.assert_called_once() mock_membership_repository.search.assert_called_once() mock_member_repository.get_by_id.assert_called_once() mock_account_repository.get_by_id.assert_called_once()
def test_unknown_membership( self, ctx, mock_membership_repository: MembershipRepository, mock_member_repository: MemberRepository, sample_member: Member, member_manager: MemberManager): mock_member_repository.get_by_id = MagicMock( return_value=(sample_member)) mock_membership_repository.search = MagicMock( return_value=([], 0), side_effect=MembershipNotFoundError("")) with raises(MembershipNotFoundError): member_manager.update_subscription(ctx, sample_member.id, SubscriptionBody()) mock_membership_repository.update.assert_not_called()
def test_from_pending_payment_initial_to_pending_payment( self, ctx, mock_membership_repository: MembershipRepository, mock_member_repository: MemberRepository, sample_member: Member, mock_charter_repository: CharterRepository, sample_membership_pending_payment_initial: Membership, sample_subscription_duration_no_account: SubscriptionBody, member_manager: MemberManager): mock_member_repository.get_by_id = MagicMock( return_value=(sample_member)) mock_membership_repository.search = MagicMock( return_value=([sample_membership_pending_payment_initial], 1)) mock_charter_repository.get = MagicMock( return_value=str(datetime.datetime.today())) # When... member_manager.update_subscription( ctx, sample_member.id, sample_subscription_duration_no_account) # Expect to create a new membership record... mock_membership_repository.update.assert_called_once() mock_membership_repository.search.assert_called_once() mock_member_repository.get_by_id.assert_called_once() mock_charter_repository.get.assert_not_called()
def test_unknown_price_asign_to_duration( self, ctx, mock_membership_repository: MembershipRepository, mock_member_repository: MemberRepository, mock_charter_repository: CharterRepository, sample_member: Member, sample_subscription_duration_account_payment_method: SubscriptionBody, sample_membership_pending_rules: Membership, member_manager: MemberManager): mock_member_repository.get_by_id = MagicMock( return_value=(sample_member)) mock_membership_repository.search = MagicMock( return_value=([sample_membership_pending_rules], 1)) mock_charter_repository.get = MagicMock( return_value=str(datetime.datetime.today())) sample_subscription_duration_account_payment_method.duration = 5 with raises(NoPriceAssignedToThatDuration): member_manager.update_subscription( ctx, sample_member.id, sample_subscription_duration_account_payment_method) mock_membership_repository.search.assert_called_once() mock_member_repository.get_by_id.assert_called_once() mock_charter_repository.get.assert_called_once() mock_membership_repository.update.assert_not_called()