using System.Linq; using AwesomeAssertions; using NUnit.Framework; using Soneta.Core; namespace Soneta.Skills.Test.CRM.Kontrahenci; /// /// W7 — Dane kontaktowe i adresy WWW. /// Testy pokazują dodanie kanału e-mail do kolekcji Kontakty (typ rodzaju pobierany ze /// słownika RodzajeKontaktow) oraz dodanie adresu WWW (konstruktor z hostem /// new AdresWWW(kontrahent), pole URL nazywa się Adres). /// [TestFixture] public class DaneKontaktoweTest : KontrahentTestBase { [Test] [Description("Dodanie domyślnego kontaktu e-mail pojawia się w kolekcji Kontakty kontrahenta.")] public void DodanieEmaila_PojawiaSieWKolekcjiKontakty() { var kod = UnikalnyKod(); UtworzKontrahenta(kod, "Firma Z Mailem"); SaveDispose(); var email = "kontakt@firma-" + kod + ".pl"; var k = Crm.Kontrahenci.WgKodu[kod]; var rodzajEmail = Session.GetCore().RodzajeKontaktow[RodzajeKontaktow.AdresEmail]; InUITransaction(() => { var dk = Add(new DaneKontaktowe { Host = k }); dk.Rodzaj = rodzajEmail; dk.Kontakt = email; dk.Domyslny = true; }); SaveDispose(); var zapisany = Crm.Kontrahenci.WgKodu[kod]; zapisany.Kontakty.Cast() .Any(d => d.Kontakt == email) .Should().BeTrue(); } [Test] [Description("Dodanie adresu WWW (new AdresWWW(host)) pojawia się w kolekcji AdresyWWW.")] public void DodanieAdresuWWW_PojawiaSieWKolekcji() { var kod = UnikalnyKod(); UtworzKontrahenta(kod, "Firma Z WWW"); SaveDispose(); var url = "https://www.firma-" + kod + ".pl"; var k = Crm.Kontrahenci.WgKodu[kod]; InUITransaction(() => { var www = Add(new AdresWWW(k)); // ctor przyjmuje IAdresyWWWHost www.Adres = url; // pole URL nazywa się Adres www.Domyslny = true; }); SaveDispose(); var zapisany = Crm.Kontrahenci.WgKodu[kod]; zapisany.AdresyWWW.Cast() .Any(w => w.Adres == url) .Should().BeTrue(); } }