// SendOptionsPolicy.DisableHideEmail check private void SaveSendAsync_DisableHideEmail_Setup(SendType sendType, bool canManagePolicies, SutProvider <SendService> sutProvider, Send send, List <Policy> policies) { send.Id = default; send.Type = sendType; send.HideEmail = true; var dataObj = new SendOptionsPolicyData(); dataObj.DisableHideEmail = true; policies.First().Type = PolicyType.SendOptions; policies.First().Enabled = true; policies.First().Data = JsonConvert.SerializeObject(dataObj); sutProvider.GetDependency <IPolicyRepository>().GetManyByUserIdAsync(send.UserId.Value).Returns(policies); sutProvider.GetDependency <ICurrentContext>().ManagePolicies(Arg.Any <Guid>()).Returns(canManagePolicies); }
public async void SaveSendAsync_DisableHideEmail_CantManagePolicies_success(SendType sendType, SutProvider <SendService> sutProvider, Send send, List <Policy> policies) { SaveSendAsync_DisableHideEmail_Setup(sendType, canManagePolicies: false, sutProvider, send, policies); var policyData = new SendOptionsPolicyData(); policyData.DisableHideEmail = false; var policyDataSerialized = JsonConvert.SerializeObject(policyData); foreach (var policy in policies.Where(p => p.Type == PolicyType.SendOptions)) { policies.First().Enabled = true; policies.First().Data = policyDataSerialized; } await sutProvider.Sut.SaveSendAsync(send); await sutProvider.GetDependency <ISendRepository>().Received(1).CreateAsync(send); }
// Send Options Policy - Disable Hide Email check private void SaveSendAsync_HideEmail_Setup(bool disableHideEmailAppliesToUser, SutProvider <SendService> sutProvider, Send send, Policy policy) { send.HideEmail = true; var sendOptions = new SendOptionsPolicyData { DisableHideEmail = disableHideEmailAppliesToUser }; policy.Data = JsonSerializer.Serialize(sendOptions, new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.CamelCase, }); sutProvider.GetDependency <IPolicyRepository>().GetManyByTypeApplicableToUserIdAsync( Arg.Any <Guid>(), PolicyType.SendOptions).Returns(new List <Policy> { policy, }); }