(t *testing.T)
| 831 | } |
| 832 | |
| 833 | func TestRemoveAttestationDisposition(t *testing.T) { |
| 834 | bank := &recordingBank{} |
| 835 | ctx, k := setupStoreKeeperWithOptions(t, WithBankKeeper(bank)) |
| 836 | provider := testutil.AccAddress(t) |
| 837 | auditor := testutil.AccAddress(t) |
| 838 | params := k.GetParams(ctx) |
| 839 | attestation := attestationRecord(provider, auditor) |
| 840 | require.NoError(t, k.SetAttestation(ctx, attestation)) |
| 841 | escrow := openAuditEscrowRecord(ctx, provider, attestation.AuditEscrowID, params) |
| 842 | escrow.Status = vtypes.AuditEscrowStatusConsumed |
| 843 | escrow.ConsumedByAuditor = auditor.String() |
| 844 | now := ctx.BlockTime() |
| 845 | escrow.ConsumedAt = &now |
| 846 | require.NoError(t, k.SetAuditEscrow(ctx, escrow)) |
| 847 | |
| 848 | err := k.RemoveAttestation(ctx, provider, auditor) |
| 849 | require.NoError(t, err) |
| 850 | |
| 851 | got, found := k.GetAttestation(ctx, provider, auditor) |
| 852 | require.True(t, found) |
| 853 | require.Equal(t, vtypes.AttestationStatusRemoved, got.Status) |
| 854 | require.Equal(t, vtypes.FaultAttributionNoFault, got.FaultAttribution) |
| 855 | require.Equal(t, vtypes.FeeStatusReleasedToAuditor, got.FeeStatus) |
| 856 | require.Equal(t, vtypes.DepositStatusReturnedToAuditor, got.DepositStatus) |
| 857 | |
| 858 | settledEscrow, found := k.GetAuditEscrow(ctx, attestation.AuditEscrowID) |
| 859 | require.True(t, found) |
| 860 | require.Equal(t, vtypes.AuditEscrowStatusSettled, settledEscrow.Status) |
| 861 | require.Equal(t, vtypes.FeeStatusReleasedToAuditor, settledEscrow.FeeStatus) |
| 862 | require.Equal(t, vtypes.ProviderDepositStatusReturnedToProvider, settledEscrow.ProviderDepositStatus) |
| 863 | require.Equal(t, vtypes.AuditEscrowSettlementReasonNoFault, settledEscrow.SettlementReason) |
| 864 | require.Equal(t, vtypes.FaultAttributionNoFault, settledEscrow.FaultAttribution) |
| 865 | require.Equal(t, []bankTransfer{ |
| 866 | {to: auditor, module: moduletypes.ModuleName, amt: sdk.NewCoins(attestation.Fee)}, |
| 867 | {to: auditor, module: moduletypes.ModuleName, amt: sdk.NewCoins(attestation.Deposit)}, |
| 868 | {to: provider, module: moduletypes.ModuleName, amt: sdk.NewCoins(escrow.ProviderDeposit)}, |
| 869 | }, bank.moduleToAccount) |
| 870 | testutil.EnsureEvent(t, ctx.EventManager().Events().ToABCIEvents(), &vtypes.EventAuditEscrowSettled{ |
| 871 | AuditEscrowID: attestation.AuditEscrowID, |
| 872 | Reason: vtypes.AuditEscrowSettlementReasonNoFault, |
| 873 | FaultAttribution: vtypes.FaultAttributionNoFault, |
| 874 | }) |
| 875 | } |
| 876 | |
| 877 | func TestRemoveAttestationRejectsInvalidInputs(t *testing.T) { |
| 878 | tests := []struct { |
nothing calls this directly
no test coverage detected