Skip to content

Commit 495cb45

Browse files
committed
test: add test for unexistent promocode update
1 parent 292a498 commit 495cb45

File tree

1 file changed

+35
-1
lines changed

1 file changed

+35
-1
lines changed

Doppler.HtmlEditorApi.Test/http/accounts/_/campaings/_/content/promo-code/_/PutPromoCodeTest.cs

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ public async Task PUT_promo_code_should_not_accept_a_expired_token(string url, s
9191
[Theory]
9292
[InlineData($"/accounts/{TestUsersData.EMAIL_TEST1}/campaigns/111/content/promo-code/222", TestUsersData.TOKEN_TEST1_EXPIRE_20330518, 222)]
9393
[InlineData($"/accounts/{TestUsersData.EMAIL_TEST1}/campaigns/111/content/promo-code/222", TestUsersData.TOKEN_SUPERUSER_EXPIRE_20330518, 222)]
94-
public async Task PUT_campaign_should_accept_right_tokens_and_return_Ok(string url, string token, int promoCodeId)
94+
public async Task PUT_promo_code_should_accept_right_tokens_and_return_Ok(string url, string token, int promoCodeId)
9595
{
9696
// Arrange
9797
var dbContextMock = new Mock<IDbContext>();
@@ -114,4 +114,38 @@ public async Task PUT_campaign_should_accept_right_tokens_and_return_Ok(string u
114114
// Assert
115115
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
116116
}
117+
118+
[Fact]
119+
public async Task PUT_promo_code_should_return_NotFound_when_campaign_promocode_relation_does_not_exist()
120+
{
121+
// Arrange
122+
var dbContextMock = new Mock<IDbContext>();
123+
124+
var campaignId = 111;
125+
var promoCodeId = 222;
126+
var endpointPath = $"/accounts/{TestUsersData.EMAIL_TEST1}/campaigns/{campaignId}/content/promo-code/{promoCodeId}";
127+
var token = TestUsersData.TOKEN_SUPERUSER_EXPIRE_20330518;
128+
129+
// Return 0, it does not found CampaignId/PromoCodeId relation to update
130+
dbContextMock
131+
.Setup(x => x.ExecuteAsync(It.Is<UpdatePromoCodeDbQuery>(q => q.Id == promoCodeId && q.IdCampaign == campaignId)))
132+
.ReturnsAsync(0);
133+
134+
var client = _factory.CreateSutClient(serviceToOverride1: dbContextMock.Object, token);
135+
136+
// Act
137+
var response = await client.PutAsync(endpointPath, JsonContent.Create(new
138+
{
139+
type = "type",
140+
value = 10,
141+
includeShipping = true,
142+
firstPurchase = true,
143+
}));
144+
145+
// Assert
146+
Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
147+
148+
var responseContent = await response.Content.ReadAsStringAsync();
149+
Assert.Equal("The Campaign/PromoCode relation doesn't exist.", responseContent);
150+
}
117151
}

0 commit comments

Comments
 (0)