Files
Marcin Wojas 01de89b7b5 kontrahent.md
2026-06-05 15:48:46 +02:00

65 lines
2.1 KiB
C#

using AwesomeAssertions;
using NUnit.Framework;
namespace Soneta.Skills.Test.CRM.Kontrahenci;
/// <summary>
/// W6 — Adres kontrahenta.
/// Test pokazuje, że <c>Adres</c> to property zwracająca obiekt złożony (nie da się przypisać
/// całego adresu) — modyfikujemy jego pola. Uwaga na typ <c>KodPocztowy</c> = <c>int</c>
/// (do formatu „00-000" służy <c>KodPocztowyS</c>).
/// </summary>
[TestFixture]
public class AdresKontrahentaTest : KontrahentTestBase
{
[Test]
[Description("Ustawienie pól adresu głównego (ulica, kod pocztowy, miejscowość) jest zapisywane.")]
public void UstawienieAdresuGlownego_JestZapisywane()
{
var kod = UnikalnyKod();
UtworzKontrahenta(kod, "Firma Z Adresem");
SaveDispose();
var k = Crm.Kontrahenci.WgKodu[kod];
InTransaction(() =>
{
var a = k.Adres; // edytujemy pola obiektu adresu
a.Ulica = "Wadowicka";
a.NrDomu = "8A";
a.NrLokalu = "2";
a.KodPocztowyS = "30-415"; // string z myślnikiem; pole int KodPocztowy = 30415
a.Miejscowosc = "Kraków";
a.Poczta = "Kraków";
a.Kraj = "Polska";
});
SaveDispose();
var a2 = Crm.Kontrahenci.WgKodu[kod].Adres;
a2.Ulica.Should().Be("Wadowicka");
a2.NrDomu.Should().Be("8A");
a2.Miejscowosc.Should().Be("Kraków");
a2.KodPocztowy.Should().Be(30415);
}
[Test]
[Description("Adres do korespondencji jest odrębnym obiektem od adresu głównego.")]
public void AdresDoKorespondencji_JestOdrebnyOdGlownego()
{
var kod = UnikalnyKod();
UtworzKontrahenta(kod, "Firma Z Korespondencja");
SaveDispose();
var k = Crm.Kontrahenci.WgKodu[kod];
InTransaction(() =>
{
k.Adres.Miejscowosc = "Kraków";
k.AdresDoKorespondencji.Miejscowosc = "Warszawa";
});
SaveDispose();
var zapisany = Crm.Kontrahenci.WgKodu[kod];
zapisany.Adres.Miejscowosc.Should().Be("Kraków");
zapisany.AdresDoKorespondencji.Miejscowosc.Should().Be("Warszawa");
}
}