Untitled

 avatar
unknown
plain_text
a year ago
2.3 kB
2
Indexable
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)
  }
}