Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add test case that same target date’s before or after validation shou…
…ld not be valid
  • Loading branch information
cruisediary committed Aug 25, 2018
commit a6cefabd9dbb41bb48771c9586d9e81b1fa6496d
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,53 @@ class DateValidateTests: XCTestCase {
expect(resultDate).toEventually(equal(targetDate))
}

func testDateValidationShouldBeforeThenWithSameTargetDate() {
// given
let targetDate = "2018-05-29T12:00+09:00".date(format: .iso8601Auto)!.absoluteDate
let sameTargetDate = "2018-05-29T12:00+09:00".date(format: .iso8601Auto)!.absoluteDate
var resultDate: Date?
var resultError: RxValidatorResult = .valid
let underTest = DateValidationTarget(targetDate)

// when
underTest
.validate(.shouldBeforeThen(date: sameTargetDate))
.asObservable()
.subscribe(onNext: { (date) in
resultDate = date
}, onError: { (error) in
resultError = RxValidatorResult.determine(error: error)
}).disposed(by: disposeBag)

// then
// it should not before date
expect(resultError).toEventually(equal(RxValidatorResult.notBeforeDate))
expect(resultDate).toEventually(beNil())
}

func testDateValidationShouldAfterThenWithSameTargetDate() {
// given
let targetDate = "2018-05-29T12:00+09:00".date(format: .iso8601Auto)!.absoluteDate
let sameTargetDate = "2018-05-29T12:00+09:00".date(format: .iso8601Auto)!.absoluteDate
var resultDate: Date?
var resultError: RxValidatorResult = .valid
let underTest = DateValidationTarget(targetDate)

// when
underTest
.validate(.shouldAfterThen(date: sameTargetDate))
.asObservable()
.subscribe(onNext: { (date) in
resultDate = date
}, onError: { (error) in
resultError = RxValidatorResult.determine(error: error)
}).disposed(by: disposeBag)

// then
// it should not after date
expect(resultError).toEventually(equal(RxValidatorResult.notAfterDate))
expect(resultDate).toEventually(beNil())
}

func testDateValidationWithAllday() {
let targetDate = "2018-05-29T12:00:00+09:00".date(format: .iso8601Auto)!.absoluteDate
Expand Down