Пример #1
0
        public void CRUDService()
        {
            // Insert
            var service = new Service
            {
            };

            Assert.IsTrue(!service.IsValid
                && !string.IsNullOrEmpty(service.ValidationMessage)
                && service.ValidationMessage.Contains(ResourceStringLoader.GetResourceString("Service_EmptyName")));

            Assert.IsTrue(!service.IsValid
                && !string.IsNullOrEmpty(service.ValidationMessage)
                && service.ValidationMessage.Contains(ResourceStringLoader.GetResourceString("Service_EmptyCreatedBy")));

            Assert.IsTrue(!service.IsValid
                && !string.IsNullOrEmpty(service.ValidationMessage)
                && service.ValidationMessage.Contains(ResourceStringLoader.GetResourceString("Service_EmptyProductID")));

            service.Name = "01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890";
            service.CreatedBy = "01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456";

            var product = Product.GetAll().FirstOrDefault();

            if (product == null)
                Assert.Inconclusive();

            service.ProductID = product.ID;

            Assert.IsTrue(!service.IsValid
                && !string.IsNullOrEmpty(service.ValidationMessage)
                && service.ValidationMessage.Contains(ResourceStringLoader.GetResourceString("Service_MaxNameLength")));

            Assert.IsTrue(!service.IsValid
                && !string.IsNullOrEmpty(service.ValidationMessage)
                && service.ValidationMessage.Contains(ResourceStringLoader.GetResourceString("Service_MaxCreatedByLength")));

            service.Name = "New temporal service";
            service.CreatedBy = "dcruz";

            Assert.IsTrue(service.IsValid);
            Assert.IsTrue(service.IsNew);

            service.AcceptChanges();

            Assert.IsTrue(service.IsValid);
            Assert.IsTrue(!service.IsChanged);

            var loaded = Service.Load(service.ID);

            Assert.IsNotNull(loaded);
            Assert.IsTrue(!loaded.IsChanged);
            Assert.IsTrue(!loaded.IsNew);

            Compare(loaded, service);

            // Update

            loaded.Name = "01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890";

            Assert.IsTrue(!loaded.IsValid
                && !string.IsNullOrEmpty(loaded.ValidationMessage)
                && loaded.ValidationMessage.Contains(ResourceStringLoader.GetResourceString("Service_MaxNameLength")));

            Assert.IsTrue(!loaded.IsValid
                && !string.IsNullOrEmpty(loaded.ValidationMessage)
                && loaded.ValidationMessage.Contains(ResourceStringLoader.GetResourceString("Service_EmptyLastUpdatedBy")));

            var any = Service.GetServices(loaded.ProductID).Where(m => m.ID != loaded.ID).FirstOrDefault();

            if (any == null)
                Assert.Inconclusive();

            loaded.Name = any.Name;

            Assert.IsTrue(!loaded.IsValid
                && !string.IsNullOrEmpty(loaded.ValidationMessage)
                && loaded.ValidationMessage.Contains(ResourceStringLoader.GetResourceString("Service_DuplicatedName", new { loaded.Name })));

            Assert.IsTrue(!loaded.IsValid
                && !string.IsNullOrEmpty(loaded.ValidationMessage)
                && loaded.ValidationMessage.Contains(ResourceStringLoader.GetResourceString("Service_EmptyLastUpdatedBy")));

            loaded.Name = "New temporal state 2";
            loaded.LastUpdatedBy = "01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456";

            Assert.IsTrue(!loaded.IsValid
                && !string.IsNullOrEmpty(loaded.ValidationMessage)
                && loaded.ValidationMessage.Contains(ResourceStringLoader.GetResourceString("Service_MaxLastUpdatedByLength")));

            loaded.LastUpdatedBy = "dcruz";

            Assert.IsTrue(loaded.IsChanged);
            Assert.IsTrue(loaded.IsValid);

            loaded.AcceptChanges();

            Assert.IsTrue(!loaded.IsChanged);
            Assert.IsTrue(loaded.IsValid);

            var updated = Service.Load(service.ID);

            Assert.IsNotNull(updated);

            Compare(updated, loaded);

            // Delete

            loaded = Service.Load(service.ID);
            loaded.Delete();

            Assert.IsTrue(loaded.IsValid);
            Assert.IsTrue(loaded.IsDeleted);

            loaded.AcceptChanges();

            loaded = Service.Load(service.ID);

            Assert.IsNull(loaded);
        }