示例#1
0
        public void ZlozZamowienie_WyslijKopie()
        {
            //Arrange
            var dostawca          = new Dostawca();
            var produkt           = new Produkt(1, "Biurko", "opis");
            var wartoscOczekiwana = new WynikOperacji(true, "Tekst Zamówieia Wysyłamy kopię");
            //Act
            var wartoscAktualna = dostawca.ZlozZamowienie(produkt, ilosc: 15, Dostawca.DolaczAdres.Nie, Dostawca.WyslijKopie.Tak);

            //Assert
            Assert.AreEqual(wartoscOczekiwana.Sukces, wartoscAktualna.Sukces);
            Assert.AreEqual(wartoscOczekiwana.Wiadomosc, wartoscAktualna.Wiadomosc);
        }
示例#2
0
        public void ZlozZamowienieTest()
        {
            // Arrange (zaranżuj test)
            var dostawca          = new Dostawca();
            var produkt           = new Produkt(1, "Biurko", "opis");
            var wartoscOczekiwana = new WynikOperacji(true, "Zamowienie z DevHobby.pl\r\nProdukt: Informatyka - 0001\r\nIlość: 15\r\nInstrukcje: Standartowa dostawa");

            //ACT (działaj)
            var wartoscAktualna = dostawca.ZlozZamowienie(produkt, 15);

            // Assert (potwierdz test)
            Assert.AreEqual(wartoscOczekiwana.Sukces, wartoscAktualna.Sukces);
            Assert.AreEqual(wartoscOczekiwana.Wiadomosc, wartoscAktualna.Wiadomosc);
        }
示例#3
0
        public void ZlozZamowienie_DolaczAdresTest()
        {
            // Arrange(zaranżuj test)
            var dostawca          = new Dostawca();
            var produkt           = new Produkt(1, "Biurko", "opis");
            var wartoscOczekiwana = new WynikOperacji(true, "Tekst zamówienia Dołączamy adres");

            //ACT (działaj)
            var wartoscAktualna = dostawca.ZlozZamowienie(produkt, 15, Dostawca.DolaczAdres.Tak, Dostawca.WyslijKopie.Nie);

            // Assert (potwierdz test)
            Assert.AreEqual(wartoscOczekiwana.Sukces, wartoscAktualna.Sukces);
            Assert.AreEqual(wartoscOczekiwana.Wiadomosc, wartoscAktualna.Wiadomosc);
        }
示例#4
0
        public void ZlozZamowienie_DolaczAdresTest()
        {
            //arrange
            var dostawca          = new Dostawca();
            var produkt           = new Produkt(1, "Biurko", "Opis");
            var wartoscOczekiwana = new WynikOperacji(true, "Tekst zamowienia Dołączamy adres");

            //act
            var wartoscAktualna = dostawca.ZlozZamowienie(produkt, 10, Dostawca.DolaczAdres.Tak, Dostawca.WyslijKopie.Nie);

            //assert
            Assert.AreEqual(wartoscOczekiwana.Sukces, wartoscAktualna.Sukces);
            Assert.AreEqual(wartoscOczekiwana.Wiadomosc, wartoscAktualna.Wiadomosc);
        }
示例#5
0
        public void ZlozZamowienie_DolaczAdre_test()
        {
            // Arange
            var dostawca   = new Dostawca();
            var produkt    = new Produkt(1, "Biurko", "Opis");
            var oczekiwana = new WynikOperacji(true, "Tekst zamowienia Adres zamowienia");
            //ACT wykonaj test
            var actualna = dostawca.ZlozZamowienie(produkt, 15, dolaczAdres: Dostawca.DolaczAdres.Tak, wyslijKopie: Dostawca.WyslijKopie.Nie);

            // Assert

            Assert.AreEqual(oczekiwana.Sukces, actualna.Sukces);
            Assert.AreEqual(oczekiwana.Wiadomosc, actualna.Wiadomosc);
        }
示例#6
0
        public void ZlozZamowienie4ParametryTest()
        {
            //arrange
            var dostawca          = new Dostawca();
            var produkt           = new Produkt(1, "Biurko", "Opis");
            var wartoscOczekiwana = new WynikOperacji(true, "Zamowienie z DevHobby.pl\r\nProdukt: Informatyka - 0001\r\nIlość: 10\r\nData dostawy: 2020/04/22\r\nInstrukcje: testowe instrukcje");

            //act
            var wartoscAktualna = dostawca.ZlozZamowienie(produkt, 10, new DateTimeOffset(2020, 4, 22, 0, 0, 0, new TimeSpan(8, 0, 0)), "testowe instrukcje");

            //assert
            Assert.AreEqual(wartoscOczekiwana.Sukces, wartoscAktualna.Sukces);
            Assert.AreEqual(wartoscOczekiwana.Wiadomosc, wartoscAktualna.Wiadomosc);
        }
示例#7
0
        public void ZlozZamowienieTest()
        {
            //arrange
            var dostawca          = new Dostawca();
            var produkt           = new Produkt(1, "Biurko", "Opis");
            var wartoscOczekiwana = new WynikOperacji(true, "Zamowienie z DevHobby.pl\r\nProdukt: Informatyka - 0001\r\nIlość: 10\r\nInstrukcje: Standardowa dostawa");

            //act
            var wartoscAktualna = dostawca.ZlozZamowienie(produkt, 10);

            //assert
            Assert.AreEqual(wartoscOczekiwana.Sukces, wartoscAktualna.Sukces);
            Assert.AreEqual(wartoscOczekiwana.Wiadomosc, wartoscAktualna.Wiadomosc);
        }
示例#8
0
        public void ZlozZamowienie4parametryTest()
        {
            // Arrange (zaranżuj test)
            var dostawca          = new Dostawca();
            var produkt           = new Produkt(1, "Biurko", "opis");
            var wartoscOczekiwana = new WynikOperacji(true, "Zamowienie z DevHobby.pl\r\nProdukt: Informatyka - 0001\r\nIlość: 15\r\nData dostawy: 2019-04-22\r\nInstrukcje: testowe instrukcje");

            //ACT (działaj)
            var wartoscAktualna = dostawca.ZlozZamowienie(produkt, 15, new DateTimeOffset(2019, 4, 22, 0, 0, 0, new TimeSpan(8, 0, 0)), "testowe instrukcje");

            // Assert (potwierdz test)
            Assert.AreEqual(wartoscOczekiwana.Sukces, wartoscAktualna.Sukces);
            Assert.AreEqual(wartoscOczekiwana.Wiadomosc, wartoscAktualna.Wiadomosc);
        }
示例#9
0
        public void ZlozZamowienie_TrzyParametryBezDatyTest()
        {
            //Arrange
            var dostawca          = new Dostawca();
            var produkt           = new Produkt(1, "Biurko", "opis");
            var wartoscOczekiwana = new WynikOperacji(true, "Zamowienie z DevHobby.pl" + Environment.NewLine +
                                                      "Produkt: Informatyka - 0001" + Environment.NewLine +
                                                      "Ilość: 15\r\nInstrukcje: Standartowa dostawa");
            //Act
            var wartoscAktualna = dostawca.ZlozZamowienie(produkt, 15, instrukcje: "Standartowa dostawa");

            //Assert
            Assert.AreEqual(wartoscOczekiwana.Sukces, wartoscAktualna.Sukces);
            Assert.AreEqual(wartoscOczekiwana.Wiadomosc, wartoscAktualna.Wiadomosc);
        }
示例#10
0
        public void ZlozZamowienie_CzteryParametryTest()
        {
            //Arrange
            var dostawca          = new Dostawca();
            var produkt           = new Produkt(1, "Biurko", "opis");
            var wartoscOczekiwana = new WynikOperacji(true, "Zamowienie z DevHobby.pl" + Environment.NewLine +
                                                      "Produkt: Informatyka - 0001" + Environment.NewLine +
                                                      "Ilość: 15\r\nData dostawy: 22.04.2020\r\nInstrukcje: Testowe instrukcje");
            //Act
            var wartoscAktualna = dostawca.ZlozZamowienie(produkt, 15, new DateTimeOffset(2020, 4, 22, 0, 0, 0, new TimeSpan(8, 0, 0)), "Testowe instrukcje");

            //Assert
            Assert.AreEqual(wartoscOczekiwana.Sukces, wartoscAktualna.Sukces);
            Assert.AreEqual(wartoscOczekiwana.Wiadomosc, wartoscAktualna.Wiadomosc);
        }
示例#11
0
        public void ZlozZamowienie_4parametry_Test()
        {
            // Arange
            var dostawca = new Dostawca();
            var produkt  = new Produkt(1, "Biurko", "Opis");

            var oczekiwana = new WynikOperacji(true, "Zamowienie z dev-hobby.pl\r\nProdukt: Informatyka - 1\r\nIlość: 15\r\nData dostawy: 05.05.2020\r\nInstrukcje: Testowe Instrukcje");

            //ACT wykonaj test
            var actualna = dostawca.ZlozZamowienie(produkt, 15, new DateTimeOffset(2020, 5, 5, 0, 0, 0, new TimeSpan(8, 0, 0)), "Testowe Instrukcje");

            // Assert

            Assert.AreEqual(oczekiwana.Sukces, actualna.Sukces);
            Assert.AreEqual(oczekiwana.Wiadomosc, actualna.Wiadomosc);
        }
示例#12
0
        /// <summary>
        /// Wysyła zamówienie na produkt do dostawcy
        /// </summary>
        /// <param name="produkt">Produkt do zamówienia</param>
        /// <param name="ilosc">Ilość produktu do zamówienia</param>
        /// <param name="dolaczAdres">Czy dołączać adres wysyłki</param>
        /// <param name="wyslijKopie">Czy wyslać kopię zamówienia do zamawiającego</param>
        /// <returns>Flaga sukcesu i tekst zamówienia</returns>
        public WynikOperacji ZlozZamowienie(Produkt produkt, int ilosc, DolaczAdres dolaczAdres, WyslijKopie wyslijKopie)
        {
            var tekstZamowienia = "Tekst Zamówieia";

            if (dolaczAdres == DolaczAdres.Tak)
            {
                tekstZamowienia += " Dołączamy adres";
            }
            if (wyslijKopie == WyslijKopie.Tak)
            {
                tekstZamowienia += " Wysyłamy kopię";
            }
            var wynikOperacji = new WynikOperacji(true, tekstZamowienia);

            return(wynikOperacji);
        }
示例#13
0
        public void ZlozZamowienie_Test()
        {
            // Arange
            var dostawca = new Dostawca();
            var produkt  = new Produkt(1, "Biurko", "Opis");

            var oczekiwana = new WynikOperacji(true, "Zamowienie z dev-hobby.pl\r\nProdukt: Informatyka - 1\r\nIlość: 15\r\nInstrukcje: Standardowa Dostawa");

            //ACT wykonaj test
            var actualna = dostawca.ZlozZamowienie(produkt, 15);

            // Assert

            Assert.AreEqual(oczekiwana.Sukces, actualna.Sukces);
            Assert.AreEqual(oczekiwana.Wiadomosc, actualna.Wiadomosc);
        }
示例#14
0
        public void ZlozZamowienie_TrzyParametryTest()
        {
            // Arrange (zaranżuj test)

            var dostawca          = new Dostawca();
            var produkt           = new Produkt(1, "Biurko", "Opis");
            var wartoscOczekiwana = new WynikOperacji(true, "Zamówienie z DevHobby.pl\r\nProdukt : Informatyka - 0001\r\nIlość : 15\r\nData dostawy: 2020-10-22\r\nInstrukcje: Standardowa dostawa");


            // Act (działaj)

            var wartoscAktualna = dostawca.ZlozZamowienie(produkt, 15, new DateTimeOffset(2020, 10, 22, 0, 0, 0, new TimeSpan(8, 0, 0)));

            // Assert (potwierdzenie testu, lub nie)
            Assert.AreEqual(wartoscOczekiwana.Sukces, wartoscAktualna.Sukces);
            Assert.AreEqual(wartoscOczekiwana.Wiadomosc, wartoscAktualna.Wiadomosc);
        }
示例#15
0
        /// <summary>
        /// Wysyła zamówienie na produkt do dostawcy
        /// </summary>
        /// <param name="produkt">Produkt do zamówienia</param>
        /// <param name="ilosc">Ilość produktu do zamówienia</param>
        /// <param name="data">Data dostawy zamówienia</param>
        /// <param name="instukcje">Instrukcje dostawy</param>
        /// <returns></returns>
        public WynikOperacji ZlozZamowienie(Produkt produkt, int ilosc, DateTimeOffset?data = null, string instukcje = "Standardowa dostawa")
        {
            if (produkt == null)
            {
                throw new ArgumentNullException(nameof(produkt));       //wyrzucenie wyjątku
            }
            if (ilosc <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(ilosc));
            }

            if (data <= DateTimeOffset.Now)
            {
                throw new ArgumentOutOfRangeException(nameof(data));
            }

            var sukces = false;

            var tekstZamowieniaBuilder = new StringBuilder("Zamówienie z DevHobby.pl" + Environment.NewLine +
                                                           "Produkt: " + produkt.KodProduktu + Environment.NewLine +
                                                           "Ilość: " + ilosc);

            if (data.HasValue)                                                                                    //zwraca false gdy data ma wartośc null
            {
                tekstZamowieniaBuilder.Append(Environment.NewLine + "Data dostawy: " + data.Value.ToString("d")); //ten format ustawia że chce dostać tylko date bez godziny
            }

            if (!String.IsNullOrWhiteSpace(instukcje))                       //sprawdza czy nie ma spacji albo czy string nie jest nullem
            {
                tekstZamowieniaBuilder.Append(Environment.NewLine + "Instrukcje: " + instukcje);
            }

            var tekstZamowienia = tekstZamowieniaBuilder.ToString();

            var emailService  = new EmailService();
            var potwierdzenie = emailService.WyslijWiadomosc("Nowe zamówienie", tekstZamowienia, this.Email);

            if (potwierdzenie.StartsWith("Wiadmość wysłana: "))
            {
                sukces = true;
            }

            var wynikOperacji = new WynikOperacji(sukces, tekstZamowienia);

            return(wynikOperacji);
        }
示例#16
0
        /// <summary>
        /// Wysyła zamówienie na produkt do dostawcy
        /// </summary>
        /// <param name="produkt">Produkt do zamówienia</param>
        /// <param name="ilosc">ilość produktów do zamówienia</param>
        /// <param name="dataDostawy">Data dostawy zamówienia</param>
        /// <param name="instrukcje">Instrukce dostawy</param>
        /// <returns>Flaga sukcesu i tekst zamówienia</returns>
        public WynikOperacji ZlozZamowienie(Produkt produkt, int ilosc, DateTimeOffset?dataDostawy = null, string instrukcje = "Standartowa dostawa")
        {
            if (produkt == null)
            {
                throw new ArgumentNullException(nameof(produkt));
            }
            if (ilosc <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(ilosc));
            }
            if (dataDostawy <= DateTimeOffset.Now)
            {
                throw new ArgumentOutOfRangeException(nameof(dataDostawy));
            }
            bool sukces = false;

            var tekstZamowieniaBuilder = new StringBuilder(
                "Zamowienie z DevHobby.pl" + Environment.NewLine +
                "Produkt: " + produkt.KodProduktu + Environment.NewLine +
                "Ilość: " + ilosc);

            if (dataDostawy.HasValue)
            {
                tekstZamowieniaBuilder.Append(Environment.NewLine +
                                              "Data dostawy: " + dataDostawy.Value.ToString("d"));
            }
            if (!String.IsNullOrWhiteSpace(instrukcje))
            {
                tekstZamowieniaBuilder.Append(Environment.NewLine +
                                              "Instrukcje: " + instrukcje);
            }

            var tekstZamowienia = tekstZamowieniaBuilder.ToString();

            var emailService  = new EmailService();
            var potwierdzenie = emailService.WyslijWiadomosc("Twoje zamowienie", tekstZamowienia, this.Email);

            if (potwierdzenie.StartsWith("Wiadomość wysłana: "))
            {
                sukces = true;
            }

            var wynikOperacji = new WynikOperacji(sukces, tekstZamowienia);

            return(wynikOperacji);
        }
示例#17
0
        public void ZlozZamowienie_BrakDatyTest()
        {
            // Arrange (zaranżuj test)

            var dostawca          = new Dostawca();
            var produkt           = new Produkt(1, "Biurko", "Opis");
            var wartoscOczekiwana = new WynikOperacji(true, "Zamówienie z DevHobby.pl\r\nProdukt : Informatyka - 0001" +
                                                      "\r\nIlość : 15\r\nInstrukcje: testowe instrukcje");


            // Act (działaj)

            var wartoscAktualna = dostawca.ZlozZamowienie(produkt, 15, instrukcje: "testowe instrukcje");

            // Assert (potwierdzenie testu, lub nie)
            Assert.AreEqual(wartoscOczekiwana.Sukces, wartoscAktualna.Sukces);
            Assert.AreEqual(wartoscOczekiwana.Wiadomosc, wartoscAktualna.Wiadomosc);
        }
示例#18
0
        public WynikOperacji Weryfikuj(Konto konto)
        {
            WynikOperacji wynik = new WynikOperacji();

            Random rnd = new Random();
            int    r   = rnd.Next(1, 3);

            int w = r % 2;

            if (r % 2 == 0)
            {
                wynik.Komunikat = "weryfikacja negatywna";
            }
            else
            {
                wynik.Komunikat = "";
            }
            return(new WynikOperacji {
                Komunikat = ""
            });
        }