package ru.tinkoff.enhancement
uses gw.api.system.server.Runlevel
uses gw.testharness.RunLevel
uses gw.testharness.ServerTest
uses gw.testharness.TestBase
uses ru.tinkoff.util.DatabaseUtil
uses ru.tinkoff.util.builder.entity.vendordepts.STOAMother
@RunLevel(Runlevel.NODAEMONS)
@ServerTest
class VendorDept_ToiEntityEnhancementTest extends TestBase {
private var vendor : VendorDept_Toi
protected override function beforeMethod() {
super.beforeMethod()
vendor = STOAMother.complete().commitInNewBundleWithoutPreUpdate()
}
protected override function afterMethod(possibleException : Throwable) {
super.afterMethod(possibleException)
DatabaseUtil.cleanAllTables()
}
public function test_DisplayWebSite() {
vendor.WebSite = "https://www.tinkoffinsurance.ru/"
doTestDisplayWebSite("tinkoffinsurance.ru")
vendor.WebSite = "http://www.tinkoffinsurance.ru/"
doTestDisplayWebSite("tinkoffinsurance.ru")
vendor.WebSite = "www.leningrad.spb.ru/"
doTestDisplayWebSite("leningrad.spb.ru")
vendor.WebSite = "tinkoffinsurance.ru/"
doTestDisplayWebSite("tinkoffinsurance.ru")
// ok
vendor.WebSite = "https://tinkoffinsurance.ru"
doTestDisplayWebSite("tinkoffinsurance.ru")
vendor.WebSite = "tinkoffinsurance.ru"
doTestDisplayWebSite(vendor.WebSite)
vendor.WebSite = "https://www.тинькофф.рф/"
doTestDisplayWebSite("тинькофф.рф")
vendor.WebSite = "тинькофф.рф"
doTestDisplayWebSite(vendor.WebSite)
}
public function test_Rating() {
initCustomerReview(2)
initCustomerReview(4)
assertEquals(3.0bd, vendor.Rating)
}
public function test_Rating_allReviewsUncounted_then_Null() {
initCustomerReview()
initCustomerReview()
assertNull(vendor.Rating)
}
private function doTestDisplayWebSite(expected : String) {
var displayWebSite = vendor.DisplayWebSite
assertEquals(expected, displayWebSite)
}
private function initCustomerReview(qualityMark: Integer = null) {
var review = new CustomerReview_Toi()
review.VendorDept = vendor
review.ReviewDate = Date.Now
review.IsCounted = qualityMark != null
review.QualityMark = qualityMark
vendor.addToCustomerReviews(review)
}
}