File: account_promo_credits_test.go

package info (click to toggle)
golang-github-linode-linodego 1.55.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 13,112 kB
  • sloc: makefile: 96; sh: 52; python: 24
file content (41 lines) | stat: -rw-r--r-- 1,169 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package unit

import (
	"context"
	"testing"

	"github.com/linode/linodego"
	"github.com/stretchr/testify/assert"
)

func TestAccountPromoCredits_Add(t *testing.T) {
	fixtureData, err := fixtures.GetFixture("account_promo_credits_add_promo_code")
	assert.NoError(t, err)

	var base ClientBaseCase
	base.SetUp(t)
	defer base.TearDown(t)

	base.MockPost("account/promo-codes", fixtureData)

	requestData := linodego.PromoCodeCreateOptions{
		PromoCode: "supercoolpromocode",
	}

	promoCode, err := base.Client.AddPromoCode(context.Background(), requestData)
	if err != nil {
		t.Fatalf("Error adding promo code: %v", err)
	}

	assert.Equal(t, "10.00", promoCode.CreditMonthlyCap)
	assert.Equal(t, "50.00", promoCode.CreditRemaining)
	assert.Equal(
		t,
		"Receive up to $10 off your services every month for 6 months! Unused credits will expire once this promotion period ends.",
		promoCode.Description,
	)
	assert.Equal(t, "https://linode.com/10_a_month_promotion.svg", promoCode.ImageURL)
	assert.Equal(t, "all", promoCode.ServiceType)
	assert.Equal(t, "$10 off your Linode a month!", promoCode.Summary)
	assert.Equal(t, "10.00", promoCode.ThisMonthCreditRemaining)
}