public async Task ShouldReturnNull_WhenReferralCreateFails() { // Arrange var referralClient = new Mock <IReferralClient>(); referralClient.Setup(c => c.ReferralApi.GetAsync(It.IsAny <string>())) .ReturnsAsync(new ReferralResultResponse() { ReferralCode = null, ErrorCode = ReferralErrorCodes.ReferralNotFound }); referralClient.Setup(c => c.ReferralApi.PostAsync(It.IsAny <ReferralCreateRequest>())) .ReturnsAsync(new ReferralCreateResponse() { ReferralCode = null }); var service = new ReferralService(referralClient.Object); // Act var result = await service.GetOrCreateReferralCodeAsync("123"); // Assert Assert.Null(result); }
public async Task ShouldGetReferralCode_WhenReferralCodeExits() { // Arrange var referralClient = new Mock <IReferralClient>(); var referralCode = "refcod"; referralClient.Setup(c => c.ReferralApi.GetAsync(It.IsAny <string>())) .ReturnsAsync(new ReferralResultResponse() { ReferralCode = referralCode }); var service = new ReferralService(referralClient.Object); // Act var result = await service.GetOrCreateReferralCodeAsync("123"); // Assert Assert.Equal(referralCode, result); }